blob: 5eabd5717b4587c071a49922c56cb45fbde2edd0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
A set of standard libraries for building programs that run with just a Linux
kernel. Most programs here read from stdin and write to stdout. One of these
programs is the Mu compiler ([colorized sources](http://akkartik.github.io/mu/html/apps/mu.subx.html)).
Other apps beyond the Mu toolchain:
* `tile`: [An experimental live-updating postfix shell environment](https://mastodon.social/@akkartik/105108305362341204)
that updates as you type. Prototype. Look at this to see what is currently
possible, not how I recommend building software.
<img alt='tile app' src='../html/rpn5.png' width='500px'>
* `browse`: [A text-mode browser for a tiny subset of Markdown](https://mastodon.social/@akkartik/104845344081779025).
* `ex*`: small stand-alone examples that don't need any of the shared code at
the top-level. They each have a simple pedagogical goal. Read these first.
* `factorial*`: A simple program to compute factorials in 5 versions, showing
all the different syntax sugars and what they expand to.
The Mu toolchain is also here in the following phases:
* Core SubX: `hex`, `survey_elf`, `pack`, `dquotes`, `assort`, `tests`
* Syntax sugar for SubX: `sigils`, `calls`, `braces`
* More ambitious translator for a memory-safe language (in progress): `mu`
The toolchain includes binaries in the repo. At any commit, the binary should
be identical bit for bit with the result of translating the corresponding
`.subx` file. The binary should also be natively runnable on a Linux system
running on Intel x86 processors, either 32- or 64-bit. If either of these
invariants is violated, it's a bug.
|