[TYPES/announce] Release of Version 2 of Teyjus --- A Lambda Prolog Implementation
Xiaochu Qi
xqi at cs.umn.edu
Tue Apr 15 11:21:32 EDT 2008
On behalf of the members of the Teyjus project, I am happy to announce the
release of Version 2 of the Teyjus implementation of Lambda Prolog. To
recall, Lambda Prolog is a higher-order logic programming language that
permits lambda terms to be used as representational devices and
incorporates hypothetical and generic judgments as a means for specifying
computations over the binding structures of these terms. As such, Lambda
Prolog provides a convenient vehicle for, amongst other things, encoding
and animating structural operational semantics specifications.
The earlier Teyjus system, Version 1, embodied an abstract machine based
implementation of Lambda Prolog and was characterized by a treatment of
full higher-order unification. Version 2 orients the implementation of the
language around a deterministic and decidable form of higher-order
unification known as pattern unification. As such, it represents a
complete redesign of the abstract machine and a reimplementation of the
associated emulator and compiler. The new system uses a mix of OCaml and C
code: the emulator, that requires a proximity to the underlying machine
for efficiency, is written in C and most other parts exploit the
high-level features and security of OCaml. Careful attention has also been
paid to portability of the code: the system has been tested on a variety
of architectures with varying word sizes (this is an issue because an
abstract machine emulator is involved) and is also known to run under
different operating systems.
More details about the Teyjus system and project can be found at
http://teyjus.cs.umn.edu.
The system is being distributed under a GPL licence. The source code can
be downloaded using links on the same page.
Regards,
Xiaochu Qi
More information about the Types-announce
mailing list