Crate lambda_calculus

Source
Expand description

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

Re-exports§

pub use self::parser::parse;
pub use self::reduction::beta;
pub use self::term::abs;
pub use self::term::app;
pub use self::term::Term;
pub use self::term::UD;
pub use self::reduction::Order::*;
pub use self::term::Notation::*;
pub use self::term::Term::*;
pub use crate::data::list::convert::*;
pub use crate::data::num::convert::Encoding::*;
pub use crate::data::num::convert::*;

Modules§

combinators
Standard terms and combinators
data
Lambda-encoded data types
parser
A parser for lambda expressions
reduction
β-reduction for lambda Terms
term
Lambda terms

Macros§

abs
A macro for multiple abstraction of Terms.
app
A macro for chain application of Terms.
pi
A macro for obtaining a projection function (π) providing the i-th (one-indexed) element of a lambda-encoded n-tuple.
tuple
A macro for creating lambda-encoded tuples.