λProlog
From Wikipedia, the free encyclopedia
λProlog, also written lambda Prolog, is a logic programming language featuring polymorphic typing, modular programming, and higher-order programming. These extensions to Prolog are derived from the higher-order hereditary Harrop formulas used to justify the foundations of λProlog. Higher-order quantification, simply typed λ-terms, and higher-order unification gives λProlog the basic supports needed to capture higher-order abstract syntax, an approach to representing syntax that maps object-level bindings to programming language bindings. Programmers in λProlog need not deal with bound variable names: instead various declarative devices are available to deal with binder scopes and their instantiations. Since 1986, λProlog has received numerous implementations.
[edit] External links
[edit] Implementations
- The Teyjus λProlog compiler is the most recent and effective implementation to date. This compiler project is led by Gopalan Nadathur and various of his colleagues and students.
[edit] Tutorials
- Olivier Ridoux has written Lambda-Prolog de A à Z... ou presque (163 pages, French). It is available as PostScript, PDF, and html.
- John Hannan has written a tutorial on Program Analysis in lambda Prolog for the 1998 PLILP Conference.
- Amy Felty has written in 1997 a tutorial on lambda Prolog and its Applications to Theorem Proving (Archived by WebCite® [1]).