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
- Lambda-encoded data types
- A parser for lambda expressions
- β-reduction for lambda
Terms
Macros
- A macro for multiple abstraction of
Terms. - A macro for chain application of
Terms. - A macro for obtaining a projection function (
π) providing thei-th (one-indexed) element of a lambda-encodedn-tuple. - A macro for creating lambda-encoded tuples.