-1:000000000000 | 0:1578d2892300 |
---|---|
1 // Church booleans | |
2 | |
3 var True = t => f => t; | |
4 var False = t => f => f; | |
5 var bool_to_str = b => b("True")("False"); | |
6 var And = a => b => a(b)(a); | |
7 var Or = a => b => a(a)(b); | |
8 | |
9 assertEq(And(True)(True), True); | |
10 assertEq(And(True)(False), False); | |
11 assertEq(And(False)(True), False); | |
12 assertEq(And(False)(False), False); | |
13 | |
14 assertEq(Or(True)(True), True); | |
15 assertEq(Or(True)(False), True); | |
16 assertEq(Or(False)(True), True); | |
17 assertEq(Or(False)(False), False); |