1 2 3 4 5 6 7 8 9 10 11
pub mod term; pub mod net; pub fn reduce(code : &str) -> (net::Stats, String) { let term = term::from_string(code.as_bytes()); let mut net = term::to_net(&term); let stats = net::reduce(&mut net); let reduced_term = term::from_net(&net); let reduced_code = term::to_string(&reduced_term); (stats, String::from_utf8(reduced_code).unwrap()) }