mu/apps
Kartik Agaram c6b928be29 7841 2021-03-03 11:04:07 -08:00
..
advent2020 7690 2021-02-07 00:20:29 -08:00
browse 7690 2021-02-07 00:20:29 -08:00
raytracing 7294 2020-11-28 08:31:55 -08:00
tile 7757 2021-02-19 02:39:22 -08:00
README.md 7439 - start translating Mu programs to baremetal 2020-12-28 11:09:30 -08:00
arith.mu 7690 2021-02-07 00:20:29 -08:00
assort 7841 2021-03-03 11:04:07 -08:00
assort.subx 7441 2020-12-28 11:52:54 -08:00
braces 7841 2021-03-03 11:04:07 -08:00
braces.subx 7441 2020-12-28 11:52:54 -08:00
calls 7841 2021-03-03 11:04:07 -08:00
calls.subx 7441 2020-12-28 11:52:54 -08:00
crenshaw2-1 7841 2021-03-03 11:04:07 -08:00
crenshaw2-1.subx 7441 2020-12-28 11:52:54 -08:00
crenshaw2-1b 7841 2021-03-03 11:04:07 -08:00
crenshaw2-1b.subx 7441 2020-12-28 11:52:54 -08:00
dquotes 7841 2021-03-03 11:04:07 -08:00
dquotes.subx 7441 2020-12-28 11:52:54 -08:00
ex1 7225 2020-11-11 23:25:55 -08:00
ex1.mu 7154 2020-11-01 22:02:13 -08:00
ex1.subx - 2020-05-18 00:44:48 -07:00
ex2 7225 2020-11-11 23:25:55 -08:00
ex2.mu 7250 2020-11-16 00:00:32 -08:00
ex2.subx 6618 - new docs 2020-07-06 01:05:10 -07:00
ex3 7225 2020-11-11 23:25:55 -08:00
ex3.2.mu 7154 2020-11-01 22:02:13 -08:00
ex3.mu 7154 2020-11-01 22:02:13 -08:00
ex3.subx 6089 2020-03-06 18:09:16 -08:00
ex4 7225 2020-11-11 23:25:55 -08:00
ex4.subx 6089 2020-03-06 18:09:16 -08:00
ex5 7225 2020-11-11 23:25:55 -08:00
ex5.subx 6507 - use syscall names everywhere 2020-06-10 23:09:30 -07:00
ex6 7225 2020-11-11 23:25:55 -08:00
ex6.subx 6089 2020-03-06 18:09:16 -08:00
ex7 7225 2020-11-11 23:25:55 -08:00
ex7.subx 6089 2020-03-06 18:09:16 -08:00
ex8 7225 2020-11-11 23:25:55 -08:00
ex8.subx 6089 2020-03-06 18:09:16 -08:00
ex9 7225 2020-11-11 23:25:55 -08:00
ex9.subx 6161 2020-03-22 12:05:25 -07:00
ex10 7225 2020-11-11 23:25:55 -08:00
ex10.subx 6089 2020-03-06 18:09:16 -08:00
ex11 7225 2020-11-11 23:25:55 -08:00
ex11.subx 6182 - start of support for safe handles 2020-04-03 12:35:53 -07:00
ex12 7225 2020-11-11 23:25:55 -08:00
ex12.subx 6089 2020-03-06 18:09:16 -08:00
ex13 7225 2020-11-11 23:25:55 -08:00
ex13.subx 6178 2020-03-31 00:12:37 -07:00
ex14 6090 - new instruction: multiply by immediate 2020-03-06 18:34:27 -08:00
ex14.subx 6090 - new instruction: multiply by immediate 2020-03-06 18:34:27 -08:00
factorial 7841 2021-03-03 11:04:07 -08:00
factorial.mu 7176 - type checks for 'copy' instruction 2020-11-04 19:04:15 -08:00
factorial.subx 7441 2020-12-28 11:52:54 -08:00
factorial2.subx 7441 2020-12-28 11:52:54 -08:00
factorial3.subx 7441 2020-12-28 11:52:54 -08:00
factorial4.subx 7441 2020-12-28 11:52:54 -08:00
hello.mu 7690 2021-02-07 00:20:29 -08:00
hex 7841 2021-03-03 11:04:07 -08:00
hex.subx 7441 2020-12-28 11:52:54 -08:00
mu 7841 2021-03-03 11:04:07 -08:00
mu.subx 7730 - baremetal/shell: boolean values 2021-02-12 23:49:00 -08:00
pack 7841 2021-03-03 11:04:07 -08:00
pack.subx 7441 2020-12-28 11:52:54 -08:00
parse-int.mu 7690 2021-02-07 00:20:29 -08:00
print-file.mu 7690 2021-02-07 00:20:29 -08:00
random 7841 2021-03-03 11:04:07 -08:00
random.subx 7441 2020-12-28 11:52:54 -08:00
rpn.mu 7690 2021-02-07 00:20:29 -08:00
sigils 7841 2021-03-03 11:04:07 -08:00
sigils.subx 7490 - baremetal: draw a grapheme to screen 2021-01-09 18:28:14 -08:00
stats.txt 7700 2021-02-09 08:19:40 -08:00
subx-params.subx 7444 2020-12-28 12:36:51 -08:00
survey_baremetal 7841 2021-03-03 11:04:07 -08:00
survey_baremetal.subx 7559 - reorganize sectors built in raw hex 2021-01-24 20:16:27 -08:00
survey_elf 7841 2021-03-03 11:04:07 -08:00
survey_elf.subx 7458 2020-12-29 10:28:15 -08:00
tests 7841 2021-03-03 11:04:07 -08:00
tests.subx 7441 2020-12-28 11:52:54 -08:00
texture.mu 7690 2021-02-07 00:20:29 -08:00
tui.mu 7690 2021-02-07 00:20:29 -08:00
vimrc.vim 6842 - hackily load local Vim settings 2020-09-23 21:43:23 -07:00

README.md

Some apps written in SubX and Mu. Check out:

  • tile: An experimental live-updating postfix shell environment that updates as you type. Prototype. Look at this to see what is currently possible, not how I recommend building software.

    tile app
  • browse: A text-mode browser for a tiny subset of Markdown.

  • 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.

  • Code unique to phases of our build toolchain:

    • 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
  • Miscellaneous test programs.

All SubX apps include binaries. At any commit, an example's 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.