Function lambda_calculus::reduction::beta
[−]
[src]
pub fn beta(term: Term, order: Order, limit: usize) -> Term
Performs β-reduction on a Term
with the specified evaluation Order
and an optional limit on
the number of reductions (0
means no limit) and returns the reduced Term
.
Example
use lambda_calculus::*; let expr = parse(&"(λa.λb.λc.a (λd.λe.e (d b)) (λd.c) (λd.d)) (λa.λb.a b)", Classic).unwrap(); let reduced = parse(&"λa.λb.b", Classic).unwrap(); assert_eq!(beta(expr, NOR, 0), reduced);