diff options
Diffstat (limited to 'languages/b/bruijn/lambda-core.bruijn')
-rw-r--r-- | languages/b/bruijn/lambda-core.bruijn | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/languages/b/bruijn/lambda-core.bruijn b/languages/b/bruijn/lambda-core.bruijn new file mode 100644 index 0000000..f537470 --- /dev/null +++ b/languages/b/bruijn/lambda-core.bruijn @@ -0,0 +1,45 @@ +# ----- +# LOGIC +# ----- + +true [[1]] + +false [[0]] + +¬‣ [[[2 0 1]]] + +:test (¬true) (false) +:test (¬false) (true) + +…⋀… [[0 1 0]] + +:test (true ⋀ true) (true) +:test (true ⋀ false) (false) +:test (false ⋀ true) (false) +:test (false ⋀ false) (false) + +…⋁… [0 0] + +:test (true ⋁ true) (true) +:test (true ⋁ false) (true) +:test (false ⋁ true) (true) +:test (false ⋁ false) (false) + +# ------ +# CHURCH +# ------ + +zero [[0]] + +++‣ [[[1 (2 1 0)]]] + +:test (++(++zero)) ([[1 (1 0)]]) + +--‣ [[[[0 [0]] (2 [[0 (1 3)]] [1])]]] + +:test (--(++zero)) (zero) +:test (--[[1 (1 0)]]) ([[1 0]]) +:test (--[[1 (1 (1 0))]]) ([[1 (1 0)]]) + +# aside from tests: empty program +main [[0]] |