aboutsummaryrefslogtreecommitdiff
path: root/j/javascript
diff options
context:
space:
mode:
Diffstat (limited to 'j/javascript')
-rw-r--r--j/javascript/README.md3
-rw-r--r--j/javascript/lambda-core.js55
2 files changed, 0 insertions, 58 deletions
diff --git a/j/javascript/README.md b/j/javascript/README.md
deleted file mode 100644
index 1b35010..0000000
--- a/j/javascript/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-Download NodeJS version 4 or above
-
-Run by lambda-core.js like this: `node lambda-core.js` \ No newline at end of file
diff --git a/j/javascript/lambda-core.js b/j/javascript/lambda-core.js
deleted file mode 100644
index 5b4d7c9..0000000
--- a/j/javascript/lambda-core.js
+++ /dev/null
@@ -1,55 +0,0 @@
-// LOGIC
-const _true = x => y => x;
-const _false = x => y => y;
-const _not = b => b(_false)(_true)
-const _and = b1 => b2 => b1(b2)(_false)
-const _or = b1 => b2 => b1(_true)(b2)
-
-// CHURCH NUMERALS
-const _zero = f => x => x;
-const _succ = n => f => x => f(n(f)(x))
-const _pred = n => f => x => n(g => h => h(g(f)))(u => x)(a => a)
-const _one = _succ(_zero)
-
-// HELPERS - not pure lambda calculus
-const readBool = b => console.log(b("t")("f"))
-const readChurch = n => console.log(n(x => x+1)(0))
-
-// -------------------------------------------------
-
-// EXAMPLES
-console.log("LOGIC")
-console.log("---------------")
-console.log("TRUE/FALSE")
-readBool(_true) // t
-readBool(_false) // f
-
-console.log("NOT")
-readBool(_not(_true)) // f
-readBool(_not(_false)) // t
-
-console.log("AND")
-readBool(_and(_true)(_true)) // t
-readBool(_and(_true)(_false)) // f
-readBool(_and(_false)(_true)) // f
-readBool(_and(_false)(_false)) // f
-
-console.log("OR")
-readBool(_or(_true)(_true)) // t
-readBool(_or(_true)(_false)) // t
-readBool(_or(_false)(_true)) // t
-readBool(_or(_false)(_false)) // f
-
-console.log("\nCHURCH NUMERALS")
-console.log("---------------")
-console.log("ZERO/SUCC")
-readChurch(_zero) // 0
-readChurch(_one) // 1
-readChurch(_succ(_one)) // 2
-readChurch(_succ(_succ(_one))) // 3
-
-console.log("PRED")
-readChurch(_pred(_one)) // 0
-readChurch(_pred(_succ(_one))) // 1
-readChurch(_pred(_succ(_succ(_one)))) // 2
-