diff options
| author | mryouse | 2023-05-25 02:51:00 +0000 |
|---|---|---|
| committer | mryouse | 2023-05-25 02:51:00 +0000 |
| commit | e41f682a897950ec9454728ae6ba83c5a7973f98 (patch) | |
| tree | 8d07709866954f0b52f9f34b5fb19752968c57cc /README.md | |
| parent | 837b4621b0880c2b844cc3dd20a85535e878383c (diff) | |
give README an extension so it will render on gitea
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..def2951 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# neb + +now in bytecode + +## broken things +[x] VM immediately returns after a `def` (fixed with [d13ae11c4f](https://git.rawtext.club/mryouse/neb-d/commit/d13ae11c4f7cccd8f5e3ad072597c55c9471a638)?) +[ ] lists work for atoms like `(list 1 2 3)` but not evaluated expressions + like `(list (+ 2 3) 4 5)` (i think that only includes 3 4 5). might need + something like a MAKE_LIST op, followed by a length of how many items? + i feel like i'm really bastardizing bytecode instructions. +[ ] the emitted code is lousy with runtime typechecks. these are good to have, + generally speaking, but a) should be able to do more compile time type + checks to avoid some of them, b) should only need to type check certain + things once (so long as variables can't change type), and c) should probably + generalize the typecheck op with a parameter to enable more flexibility +[ ] compiler errors don't stop the VM from running, and are not particularly helpful +[ ] defining multiple functions in a script doesn't seem to work? +[ ] i mean, nearly nothing works + +## things that hopefully work +[x] addition! +[x] subtraction! +[x] `if`/`and`/`or`! +[x] `>`/`<` and co. +[x] `func` to define a function, assuming it only has ^^ those things +[x] `def`, globally and locally +[x] `block`? maybe? |
