lambda/math.rs
1
2
3
4lambda!(zero = {x}f x);
5
6lambda!(one = {f,x}f x);
7
8lambda!(add1 = {f, (n , f , x) }n f x );
9
10lambda!(two = add1 , one);
11
12lambda!(add = {a , add1 , b} add1 a b , add1);
13
14
15
16
17#[cfg(test)]
18mod tests {
19 use crate::*;
20 #[test]
21 fn it_works() {
22 assert_eq!(lambda!(to_str,zero),"lambda! [{ x } f x] ;");
23 assert_eq!(lambda!(to_str,one) ,"lambda! [{ f, x } f x] ;");
24 }
25}