File tree Expand file tree Collapse file tree 5 files changed +7
-67
lines changed
Expand file tree Collapse file tree 5 files changed +7
-67
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ all: compile.js
33 node lambda -h
44 node lambda -ce " S hello bye world"
55 node lambda -d samples/debug.mlc
6- node lambda -pt samples/fact.mlc
6+ node lambda -cpt samples/fact.mlc
77
88compile.js : grammar.jison
99 npm install jison@0.4.15
Original file line number Diff line number Diff line change 1- I = x: x;
2- C2 = f, x: f (f x);
3- C10 = f, x: f (f (f (f (f (f (f (f (f (f x)))))))));
4-
51C10 C2 C2 I I
Original file line number Diff line number Diff line change 1- I = x: x;
2- K = x, y: x;
3- S = x, y, z: x z (y z);
1+ FACT = Y (self, n: (ZERO n) C1 (MULT n (self (PRED n))));
42
5- T = K;
6- F = x, y: y;
7- AND = p, q: p q F;
8- OR = p, q: p T q;
9- NOT = p: (a, b: p b a);
10-
11- C0 = f, x: x;
12- C1 = f, x: f x;
13- C2 = f, x: f (f x);
14- C3 = f, x: f (f (f x));
15- SUCC = n: (f, x: f (n f x));
16- PLUS = m, n: (f, x: m f (n f x));
17- MULT = m, n: (f: m (n f));
18- EXP = m, n: n m;
19- PRED = n: (f, x: n (g, h: h (g f)) (K x) I);
20- MINUS = m, n: n PRED m;
21- ZERO = n: n (K F) T;
22-
23- A = self, f: f (self self f);
24- Y = A A;
25- FACTR = self, n: (ZERO n) C1 (MULT n (self (PRED n)));
26- FACT = Y FACTR;
27-
28- C24 = FACT (PLUS C2 C2);
29- C27 = EXP C3 C3;
30- MINUS C27 C24
3+ MINUS (C3 C3) (FACT C4)
Original file line number Diff line number Diff line change @@ -2,7 +2,7 @@ I = x: x;
22K = x, y: x;
33S = x, y, z: x z (y z);
44T = K;
5- F = x, y: y ;
5+ F = K I ;
66AND = p, q: p q F;
77OR = p, q: p T q;
88NOT = p: (a, b: p b a);
@@ -24,5 +24,4 @@ EXP = m, n: n m;
2424PRED = n: (f, x: n (g, h: h (g f)) (K x) I);
2525MINUS = m, n: n PRED m;
2626ZERO = n: n (K F) T;
27- A = self, f: f (self self f);
28- Y = A A;
27+ Y = (a: a a) (self, f: f (self self f));
Original file line number Diff line number Diff line change 1- I = x: x;
2- K = x, y: x;
3- S = x, y, z: x z (y z);
1+ FACT = Y (self, n: (ZERO n) C1 (MULT n (self (PRED n))));
42
5- T = K;
6- F = x, y: y;
7- AND = p, q: p q F;
8- OR = p, q: p T q;
9- NOT = p: (a, b: p b a);
10-
11- C0 = f, x: x;
12- C1 = f, x: f x;
13- C2 = f, x: f (f x);
14- C3 = f, x: f (f (f x));
15- SUCC = n: (f, x: f (n f x));
16- PLUS = m, n: (f, x: m f (n f x));
17- MULT = m, n: (f: m (n f));
18- EXP = m, n: n m;
19- PRED = n: (f, x: n (g, h: h (g f)) (K x) I);
20- MINUS = m, n: n PRED m;
21- ZERO = n: n (K F) T;
22-
23- A = self, f: f (self self f);
24- Y = A A;
25- FACTR = self, n: (ZERO n) C1 (MULT n (self (PRED n)));
26- FACT = Y FACTR;
27-
28- C5 = PLUS C2 C3;
29- C125 = C3 C5;
30- C120 = FACT C5;
31- MINUS C125 C120
3+ MINUS (C3 C5) (FACT C5)
You can’t perform that action at this time.
0 commit comments