6f65b65f7d
I've wrestled for a long time with how to support integer division with its hard-coded registers. The answer's always been staring me in the face: just turn it into a function! We already expect function outputs to go to hard-coded registers. |
||
---|---|---|
.. | ||
browse | ||
raytracing | ||
tile | ||
README.md | ||
arith.mu | ||
assort | ||
assort.subx | ||
braces | ||
braces.subx | ||
calls | ||
calls.subx | ||
crenshaw2-1 | ||
crenshaw2-1.subx | ||
crenshaw2-1b | ||
crenshaw2-1b.subx | ||
dquotes | ||
dquotes.subx | ||
ex1 | ||
ex1.mu | ||
ex1.subx | ||
ex2 | ||
ex2.mu | ||
ex2.subx | ||
ex3 | ||
ex3.2.mu | ||
ex3.mu | ||
ex3.subx | ||
ex4 | ||
ex4.subx | ||
ex5 | ||
ex5.subx | ||
ex6 | ||
ex6.subx | ||
ex7 | ||
ex7.subx | ||
ex8 | ||
ex8.subx | ||
ex9 | ||
ex9.subx | ||
ex10 | ||
ex10.subx | ||
ex11 | ||
ex11.subx | ||
ex12 | ||
ex12.subx | ||
ex13 | ||
ex13.subx | ||
ex14 | ||
ex14.subx | ||
factorial | ||
factorial.mu | ||
factorial.subx | ||
factorial2.subx | ||
factorial3.subx | ||
factorial4.subx | ||
hello.mu | ||
hex | ||
hex.subx | ||
mu | ||
mu.subx | ||
pack | ||
pack.subx | ||
parse-int.mu | ||
print-file.mu | ||
random | ||
random.subx | ||
rpn.mu | ||
sigils | ||
sigils.subx | ||
subx-params.subx | ||
survey | ||
survey.subx | ||
tests | ||
tests.subx | ||
texture.mu | ||
tui.mu | ||
vimrc.vim |
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. -
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
- Core SubX:
-
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.