church-1.js (443B)
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);