Category:Lambda Prolog
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Execution method: | |
---|---|
Garbage collected: | Yes |
Parameter passing methods: | By value |
Type safety: | Safe |
Type strength: | Strong |
Type compatibility: | Structural |
Type expression: | Explicit |
Type checking: | Static |
See Also: |
|
From the principle λProlog page:
λProlog is a logic programming language based on an intuitionistic fragment of Church's Simple Theory of Types. Such a strong logical foundation provides λProlog with logically supported notions of
- modular programming,
- abstract datatypes,
- higher-order programming, and
- the lambda-tree syntax approach to the treatment of bound variables in syntax.
Implementations of λProlog contain implementations of the simply typed λ-terms as well as (of subsets) of higher-order unification.
The syntax is similar to Prolog, but it extends Prolog's basis of Horn clause logic to higher-order hereditary Harrop formulas. Its higher-order nature allows for quantifying over predicates, and its basis in lambda-tree syntax facilitates construction of terms using lambda abstraction. All λProlog predicates require explicit type signatures.
λProlog was first developed in 1986. It has had a number implementations, and is still under active development.
Pages in category "Lambda Prolog"
This category contains only the following page.