mu/apps
Kartik Agaram 5462619d96 6742 - support for formatting in fake screens
We still need a few primitives, but we can implement these as needed. I'm
ready to call the fake screen done.
2020-09-07 14:18:48 -07:00
..
README.md 6618 - new docs 2020-07-06 01:05:10 -07:00
arith.mu 6699 - start building out fake screen 2020-08-01 23:39:57 -07:00
assort 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
assort.subx 6595 2020-06-29 18:01:44 -07:00
braces 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
braces.subx 6595 2020-06-29 18:01:44 -07:00
browse.mu 6720 2020-08-22 10:14:37 -07:00
calls 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
calls.subx 6595 2020-06-29 18:01:44 -07:00
crenshaw2-1 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
crenshaw2-1.subx 6508 - support null exit-descriptor 2020-06-10 23:34:42 -07:00
crenshaw2-1b 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
crenshaw2-1b.subx 6508 - support null exit-descriptor 2020-06-10 23:34:42 -07:00
dquotes 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
dquotes.subx 6597 2020-06-29 18:33:52 -07:00
ex1 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex1.mu 5872 2020-01-02 14:12:46 -08:00
ex1.subx - 2020-05-18 00:44:48 -07:00
ex2 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex2.mu 6618 - new docs 2020-07-06 01:05:10 -07:00
ex2.subx 6618 - new docs 2020-07-06 01:05:10 -07:00
ex3 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex3.2.mu 6139 2020-03-12 01:18:29 -07:00
ex3.mu 6447 2020-05-30 08:44:46 -07:00
ex3.subx 6089 2020-03-06 18:09:16 -08:00
ex4 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex4.subx 6089 2020-03-06 18:09:16 -08:00
ex5 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex5.subx 6507 - use syscall names everywhere 2020-06-10 23:09:30 -07:00
ex6 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex6.subx 6089 2020-03-06 18:09:16 -08:00
ex7 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex7.subx 6089 2020-03-06 18:09:16 -08:00
ex8 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex8.subx 6089 2020-03-06 18:09:16 -08:00
ex9 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex9.subx 6161 2020-03-22 12:05:25 -07:00
ex10 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex10.subx 6089 2020-03-06 18:09:16 -08:00
ex11 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex11.subx 6182 - start of support for safe handles 2020-04-03 12:35:53 -07:00
ex12 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07:00
ex12.subx 6089 2020-03-06 18:09:16 -08:00
ex13 6622 - new syscalls: time and ntime 2020-07-08 22:14:42 -07: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 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
factorial.mu 6719 - error-checking for 'index' instructions 2020-08-21 21:32:48 -07:00
factorial.subx 6596 2020-06-29 18:31:17 -07:00
factorial2.subx 6507 - use syscall names everywhere 2020-06-10 23:09:30 -07:00
factorial3.subx 6507 - use syscall names everywhere 2020-06-10 23:09:30 -07:00
factorial4.subx 6507 - use syscall names everywhere 2020-06-10 23:09:30 -07:00
hello.mu 6717 2020-08-15 21:43:52 -07:00
hex 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
hex.subx 6508 - support null exit-descriptor 2020-06-10 23:34:42 -07:00
mu 6742 - support for formatting in fake screens 2020-09-07 14:18:48 -07:00
mu.subx 6742 - support for formatting in fake screens 2020-09-07 14:18:48 -07:00
mulisp.subx 6507 - use syscall names everywhere 2020-06-10 23:09:30 -07:00
pack 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
pack.subx 6557 - fix a bug in pack.subx 2020-06-20 00:50:36 -07:00
parse-int.mu 6720 2020-08-22 10:14:37 -07:00
print-file.mu 6721 2020-08-22 10:15:14 -07:00
random 6703 - new types: code-point and grapheme 2020-08-02 15:11:52 -07:00
random.subx 6595 2020-06-29 18:01:44 -07:00
sigils 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
sigils.subx 6595 2020-06-29 18:01:44 -07:00
subx-params.subx 6719 - error-checking for 'index' instructions 2020-08-21 21:32:48 -07:00
survey 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
survey.subx 6597 2020-06-29 18:33:52 -07:00
tests 6733 - read utf-8 'grapheme' from byte stream 2020-08-28 23:24:04 -07:00
tests.subx 6507 - use syscall names everywhere 2020-06-10 23:09:30 -07:00
tui.mu 6699 - start building out fake screen 2020-08-01 23:39:57 -07:00

README.md

Some apps written in SubX and Mu, in 3 categories:

  • 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. Try these first.

  • Code unique to phases of our build toolchain:

    • Core SubX: hex, survey, 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 broken, it's a bug.