Lambda project is a Lambda calculus interpreter.
It reduces lambda expressions and converts them into the S, K, and I combinators (ext). It has the ability to associate names with lambda expressions (def), load definitions from a file (load), and list current definitions (list).
Lambda expressions representing integers are automatically defined as needed. Many interesting combinators are provided in a definition file.
Various settings are provided to influence the way reduction and extraction are performed (set).
A short manual is provided showing how lambda works.
Here are some key features of "Lambda":
· Load predefined lambda expression
· Many definitions provided: numbers Y fact map iszero list 1st 2nd 3rd ADD MUL EXP list suc pred . . .
· Automatic number definitions.
· Interpret lambda expressions.
· Single step interpretation.
· Normal or application order reductions.
· Variable extraction (Conversion to S K I)
· List definitions.
· Some lambda calculus theory.
Requirements:
· libstdc++
What's New in This Release:
· Add xapp flag for ext command.
· Made ext behave consistently when extracting constant expressions.
· Add preprocessing for user manual. This automatically inserts a table of contents and does character entity translations.
Product's homepage