From e41f682a897950ec9454728ae6ba83c5a7973f98 Mon Sep 17 00:00:00 2001 From: mryouse Date: Thu, 25 May 2023 02:51:00 +0000 Subject: give README an extension so it will render on gitea --- README.md | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 README.md (limited to 'README.md') 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? -- cgit v1.2.3