aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/wiki_src/coding
diff options
context:
space:
mode:
Diffstat (limited to 'docs/wiki_src/coding')
-rw-r--r--docs/wiki_src/coding/compilation.md28
-rw-r--r--docs/wiki_src/coding/data-structures.md3
2 files changed, 11 insertions, 20 deletions
diff --git a/docs/wiki_src/coding/compilation.md b/docs/wiki_src/coding/compilation.md
index 330bc9f..3ddc360 100644
--- a/docs/wiki_src/coding/compilation.md
+++ b/docs/wiki_src/coding/compilation.md
@@ -19,27 +19,17 @@ There are two modes of compilation:
## Compilation overhead
-Typical compilation to BLC results in much redundant code, since every
-used function gets substituted and translated separately. In
+By default, bruijn's compilation to BLC results in much redundant code,
+since every used function gets substituted and translated separately. In
`((+3) + (+4) + (+3))`{.bruijn}, for example, `add`{.bruijn} gets
compiled to BLC two times, resulting in a redundant overhead of around
3500 bits.
-This is because BLC was never intended for compilation of normal
-programs, but mainly as an academic encoding model. This also means that
-it's quite good for writing very expressive and minimal programs
-(i.e. obfuscated code golfing, see [John Tromp's
-IOCCC](https://ioccc.org/2012/tromp/hint.html)).
+If you want smaller (and more efficient) files, install
+[BLoC](https://github.com/marvinborner/BLoC) and
+[BLoCade](https://github.com/marvinborner/BLoCade). The combination of
+these tools results in the abstraction of shared terms and translation
+to a specified target.
-Most programs, however, won't be golfed and can result in rather large
-compiled programs. While there's not really any practical need for
-compilation aside from golfing, you could still use the
-[BLoC](https://github.com/marvinborner/bloc) project to optimize
-redundant terms.
-
-Typical workflow:
-
-``` bash
-$ bruijn -B program.bruijn | bloc --from-blc -i - -o out.bloc
-$ cat input | bruijn -E <(bloc --from-bloc -i out.bloc)
-```
+With the bruijn CLI, BLoCade can be executed directly using the flag
+`-t TARGET`, where `TARGET` is one of the supported targets.
diff --git a/docs/wiki_src/coding/data-structures.md b/docs/wiki_src/coding/data-structures.md
index e59fa99..470e05d 100644
--- a/docs/wiki_src/coding/data-structures.md
+++ b/docs/wiki_src/coding/data-structures.md
@@ -113,7 +113,8 @@ the list.
Strings are just a list of binary encoded bytes. You may use
[`std/List`](/std/List.bruijn.html) in combination with
-[`std/Number/Binary`](/std/Binary.bruijn.html) to interact with them.
+[`std/Number/Binary`](/std/Number/Binary.bruijn.html) to interact with
+them.
Example: