Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 // Church booleans
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);
9 assertEq(And(True)(True), True);
10 assertEq(And(True)(False), False);
11 assertEq(And(False)(True), False);
12 assertEq(And(False)(False), False);
14 assertEq(Or(True)(True), True);
15 assertEq(Or(True)(False), True);
16 assertEq(Or(False)(True), True);
17 assertEq(Or(False)(False), False);