ΛProlog
| λProlog | |
|---|---|
| Paradigm | Logic programming | 
| Designed by | Dale Miller and Gopalan Nadathur | 
| First appeared | 1987 | 
| Typing discipline | strongly typed | 
| License | GNU General Public License v3 | 
| Website | www | 
| Major 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.