lambda_calculus

lambda_calculus is a simple implementation of the untyped lambda calculus in Rust.

The data and operators follow the Church encoding. The terms are implemented using De Bruijn indices, but can also be displayed using the classic lambda notation.

The library contains:

The implementation tries to find a compromise between the spirit of the lambda calculus and Rust's best practices; the lambda Terms implemented by the library are produced by functions (in order to allow arbitrary application), but they are not Copyable and the methods they provide allow memory-friendly disassembly and referencing their internals.

Documentation

Status

The library is already usable, but it is still a work in progress.

TODO