aboutsummaryrefslogtreecommitdiff
path: root/README
blob: 56f12a091c692701f778c709cbd48c8a885d9de9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# neb

now in bytecode

## broken things
[ ] VM immediately returns after a `def`
[ ] 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
[ ] 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