Lambda Prolog
An extension of the
Prolog logic programming language to support simply-typed lambda expressions and some higher-order quantification. It provides for a natural logic programming approach to higher-order programming in the
functional sense. Lambda Prolog also supports polymorphism, abstract data types, and modularity: all supported by logic (unlike in Prolog where they are supported by compiler directives, etc). It was the first programming language to offer the lambda-tree syntax approach to higher-order abstract syntax (HOAS). See
http://www.lix.polytechnique.fr/Labo/Dale.Miller/lProlog/. A the Teyjus compiler is available:
http://teyjus.cs.umn.edu/.
This page is linked from: Escher Parsing