Function lambda_calculus::reduction::normalize [] [src]

pub fn normalize(term: Term) -> Term

Returns a term reduced to its normal form. Consumes its argument.

Example

use lambda_calculus::booleans::{if_else, tru};
use lambda_calculus::arithmetic::{zero, one, succ};
use lambda_calculus::reduction::normalize;

assert_eq!(normalize(succ().app(zero())), one());
assert_eq!(normalize(if_else().app(tru()).app(one()).app(zero())), one());