View difference between Paste ID: btzYWqCz and xyYPpDeZ
SHOW: | | - or go back to the newest paste.
1
let cons h t = \p -> p h t;
2
3
let rec self = self self;
4
5
let drop_unless_eq value =
6
    (rec 
7
        \self h t ->
8
            (eq h value)
9
                t
10
                (t (rec self))
11
    );
12
13-
let naturals =
13+
let peano zero succ =
14
    (rec \self n ->
15-
        cons n (rec self !(add 1 n))
15+
        cons n (rec self !(succ n))
16-
    ) 0;
16+
    ) zero;
17
18-
naturals (drop_unless_eq 10000)
18+
let naturals = !(peano 0 !(add 1));
19
20
naturals (drop_unless_eq 100000)