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())
}