-
Notifications
You must be signed in to change notification settings - Fork 0
/
nats.mlt
36 lines (28 loc) · 1.04 KB
/
nats.mlt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#wield combinators.mlt
zero = (Z) .
succ = > .
Z ISZ = Y .
ISZ = - N .
zero? = < ISZ .
Z ADD = .
ADD = < ADD > . # RHS should be add succ , but it's inlined for speed
add = < ADD .
Z MUL = - zero .
MUL = dupd mul add.
mul = < MUL .
0 = zero .
1 = 0 succ . 2 = 1 succ . 3 = 2 succ . 4 = 3 succ . 5 = 4 succ .
6 = 5 succ . 7 = 6 succ . 8 = 7 succ . 9 = 8 succ . 10 = 9 succ .
11 = 10 succ . 12 = 11 succ . 13 = 12 succ . 14 = 13 succ . 15 = 14 succ .
16 = 15 succ . 17 = 16 succ . 18 = 17 succ . 19 = 18 succ . 20 = 19 succ .
100 = zero
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ
succ succ succ succ succ succ succ succ succ succ .