aboutsummaryrefslogtreecommitdiffhomepage
path: root/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/readme.md b/readme.md
index fb5691a..c186d99 100644
--- a/readme.md
+++ b/readme.md
@@ -7,6 +7,9 @@ better Gödel-numbering than its sister language
Read my [blog post](https://text.marvinborner.de/2023-10-05-15.html) for
more information.
+This project is basically just a slightly modified version of
+[birb](https://github.com/marvinborner/birb).
+
## Performance
The [bruijn
@@ -25,3 +28,21 @@ $ hyperfine "jottary reduce <(printf '1%.0s' {1..503})"
Time (mean ± σ): 10.8 ms ± 0.7 ms [User: 1.7 ms, System: 9.0 ms]
Range (min … max): 9.5 ms … 12.5 ms 163 runs
```
+
+## Transpiler
+
+The transpiler converts binary lambda calculus to Jottary. It does this
+by converting to SKI combinators, then to Jot, and finally to Jottary.
+Aside from general inefficiency of LC-SKI conversion, the jottary
+programs will grow *exponentially* compared to its Jot variant. For
+example, the `id` program `0010` gets transpiled to 2089884 unary
+symbols (260KB!).
+
+## Usage
+
+Install Haskell's stack. Then,
+
+- `stack run -- reduce file.jottary` or
+ `stack run -- reduce <(echo 1111111)`
+- `stack run -- transpile <(echo 0010)` to transpile the `id` program
+- `stack install` so you can enjoy `jottary` from anywhere