mu/apps
Kartik Agaram 5ba5f319db 7386
Commit 7380 excluding 7376.
2020-12-23 10:06:04 -08:00
..
advent2020 7334 - advent day 5 done 2020-12-04 23:35:18 -08:00
bos 7366 2020-12-20 21:02:52 -08:00
browse 7238 - mu.subx: final restrictions on 'addr' 2020-11-15 13:18:38 -08:00
raytracing 7294 2020-11-28 08:31:55 -08:00
tile 7354 - tile: stop trying to center menu 2020-12-14 22:29:34 -08:00
README.md 6868 2020-09-26 21:26:20 -07:00
arith.mu 7288 2020-11-27 00:26:27 -08:00
assort 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
assort.subx 6595 2020-06-29 18:01:44 -07:00
boot.bochsrc 7370 2020-12-21 00:04:38 -08:00
boot.hex 7386 2020-12-23 10:06:04 -08:00
braces 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
braces.subx 6595 2020-06-29 18:01:44 -07:00
calls 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
calls.subx 7231 2020-11-12 23:25:45 -08:00
crenshaw2-1 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
crenshaw2-1.subx 6508 - support null exit-descriptor 2020-06-10 23:34:42 -07:00
crenshaw2-1b 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
crenshaw2-1b.subx 6508 - support null exit-descriptor 2020-06-10 23:34:42 -07:00
dquotes 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
dquotes.subx 6597 2020-06-29 18:33:52 -07: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 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
factorial.mu 7176 - type checks for 'copy' instruction 2020-11-04 19:04:15 -08:00
factorial.subx 7154 2020-11-01 22:02:13 -08:00
factorial2.subx 7154 2020-11-01 22:02:13 -08:00
factorial3.subx 7154 2020-11-01 22:02:13 -08:00
factorial4.subx 7154 2020-11-01 22:02:13 -08:00
hello.mu 7154 2020-11-01 22:02:13 -08:00
hex 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
hex.subx 6508 - support null exit-descriptor 2020-06-10 23:34:42 -07:00
mu 7350 - mu.subx optimization: skip no-op copies 2020-12-11 22:43:09 -08:00
mu.subx 7350 - mu.subx optimization: skip no-op copies 2020-12-11 22:43:09 -08:00
pack 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
pack.subx 6889 2020-09-27 23:00:04 -07:00
parse-int.mu 7157 2020-11-01 22:17:40 -08:00
print-file.mu 7157 2020-11-01 22:17:40 -08: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
rpn.mu 7157 2020-11-01 22:17:40 -08:00
sigils 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
sigils.subx 7231 2020-11-12 23:25:45 -08:00
subx-params.subx 7173 2020-11-03 21:31:48 -08:00
survey 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
survey.subx 6597 2020-06-29 18:33:52 -07:00
tests 7329 - snapshot: advent day 4 part 2 2020-12-04 23:02:53 -08:00
tests.subx 6781 - new app: RPN (postfix) calculator 2020-09-15 22:52:41 -07:00
texture.mu 7157 2020-11-01 22:17:40 -08:00
tui.mu 7157 2020-11-01 22:17:40 -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: A text-mode postfix calculator 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. Try 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, 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.