ΛProlog explained

λProlog
Paradigm:Logic programming
Designers:Dale Miller and Gopalan Nadathur
Developers:-->
Released:1987[1]
Typing:strongly typed
License:GNU General Public License v3
File Formats:-->
Implementations:Teyjus, ELPI
Influenced By:Prolog
Influenced:Makam

λ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 the λ-tree syntax approach to 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.

History

Since 1986, λProlog has received numerous implementations. As of 2023, the language and its implementations are still actively being developed.

The Abella theorem prover has been designed to provide an interactive environment for proving theorems about the declarative core of λProlog.

See also

References

Tutorials and texts

External links

Implementations

Notes and References

  1. Web site: FAQ: What implementations of lambda Prolog are available?. www.lix.polytechnique.fr. 2019-12-16.
  2. Book: Nadathur, Gopalan. Dustin Mitchell. System Description: Teyjus - A Compiler and Abstract Machine Based Implementation of lambda Prolog. Conference on Automated Deduction. 1999. 1632. LNAI. 287–291. 10.1007/3-540-48660-7_25. 978-3-540-66222-8.