Logic programming implementation of functional programming languages
Aiqin Pan, B.R. Bryant · 2003
The logic programming language Prolog is advocated as an implementation language for functional programming languages. Lambda reduction machines using the evaluation strategies of strict and lazy evaluation, fully lazy evaluation using graph reduction, and compilation into supercombinators are all defined in Prolog using techniques unique to logic programming. It is also shown how Prolog may be used to efficiently implement polymorphic type checking.>