From 2e3e043cae2dabeb9bf4fa57e0e69b022dfe478d Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sat, 25 Feb 2023 17:07:30 +0100 Subject: Added documentation/website --- docs/index.html | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 docs/index.html (limited to 'docs/index.html') diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..1644c88 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,121 @@ + + +
+ + + ++pow […!!… (iterate (…⋅… 0) (+1))] + +…**… pow + +:test ((+2) ** (+3) =? (+8)) (true)+ +
+ Functional language based on pure bruijn-indexed lambda calculus. +
+
+ Lambdas all the way down.
+ No primitive functions.
+
+> (+5) +[[[[2 (2 (1 3))]]]] +> 'a' +[[[1 (0 (0 (0 (0 (1 (1 (0 2)))))))]]] +> add +[[(([([[1 0 [[0]]]] ((((0 [[(((0...+
+> :time factorial (+30) +0.35 seconds+
+ Efficient call-by-need reduction using abstract machines. +
+
+ Substantial standard library.
+ Docs
+
+> ∏ (+1) → (+3) | ++‣ +> number! <$> (lines "42\n25") +> sum (take (+3) (repeat (+4))) +> (+10b) ⋀! (+12b)+
+$ echo "main [0]" > echo.bruijn +$ bruijn -b echo.bruijn > echo +$ wc -c echo +2 echo +$ echo "hello world!" | bruijn -e echo +hello world!+
+ Compilation to Tromp's binary lambda calculus.
+ Support for byte and ASCII encoding.
+
+$ git clone https://github.com/marvinborner/bruijn.git && cd bruijn +$ stack run # for playing around +$ stack install +$ bruijn+
+$ ./broogle.sh -f add +add ⧗ Unary → Unary → Unary +also known as …+… +in std/Number/Unary.bruijn:35 +# adds two unary numbers +...+