Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | add proper tail calls | ubq323 | 2024-06-29 | 1 | -8/+25 |
| | |||||
* | more tests | ubq323 | 2024-06-27 | 1 | -3/+4 |
| | |||||
* | array literals | ubq323 | 2024-06-26 | 1 | -0/+15 |
| | |||||
* | add arrays, appending, getting length, indexing | ubq323 | 2024-06-26 | 1 | -0/+12 |
| | |||||
* | remove OP_PUTS and OP_PRINT, use say and write functions instead | ubq323 | 2024-06-26 | 1 | -6/+0 |
| | |||||
* | add cfunc type and rudimentary stdlib | ubq323 | 2024-06-26 | 1 | -14/+18 |
| | |||||
* | make stackpointer less bad | ubq323 | 2024-06-26 | 1 | -17/+18 |
| | | | | | | | | previously was the length of the stack, ie number of items above current fp, and so needed to be adjusted in each call or ret now it's just an absolute index into the stack, like it always should have been | ||||
* | add setting locals | ubq323 | 2024-06-25 | 1 | -0/+7 |
| | |||||
* | more function tests | ubq323 | 2024-06-25 | 1 | -0/+3 |
| | |||||
* | get functions and arguments and returning to work fully | ubq323 | 2024-06-25 | 1 | -6/+17 |
| | |||||
* | add local variables and (let) form | ubq323 | 2024-06-24 | 1 | -2/+16 |
| | |||||
* | compilation of functions, and some parts of interpreting them | ubq323 | 2024-06-22 | 1 | -4/+37 |
| | |||||
* | put state and chunk into new compiler struct; refactor mildly | ubq323 | 2024-06-21 | 1 | -30/+1 |
| | |||||
* | mandelbrot | ubq323 | 2024-06-21 | 1 | -0/+3 |
| | |||||
* | print -> puts | ubq323 | 2024-06-21 | 1 | -1/+1 |
| | |||||
* | add tests, and make dumping disasm optional | ubq323 | 2024-06-21 | 1 | -3/+4 |
| | |||||
* | proper equality for values; deduplicate constants in compilation | ubq323 | 2024-06-21 | 1 | -1/+10 |
| | |||||
* | while loops, comparisons, modulo, fizzbuzz | ubq323 | 2024-06-21 | 1 | -3/+21 |
| | |||||
* | add (if cond if-true if-false) builtin | ubq323 | 2024-06-20 | 1 | -1/+24 |
| | |||||
* | add true, false, nil keywords | ubq323 | 2024-06-20 | 1 | -1/+9 |
| | |||||
* | globals are now variable | ubq323 | 2024-06-20 | 1 | -1/+18 |
| | |||||
* | add readable globals | ubq323 | 2024-06-20 | 1 | -1/+15 |
| | |||||
* | pass State *S everywhere | ubq323 | 2024-06-20 | 1 | -36/+29 |
| | | | | contains changes from a million years ago that i don't remember much about | ||||
* | refactor hashtables, and use objstrings for keys | ubq323 | 2023-08-05 | 1 | -11/+0 |
| | | | | | doesn't yet work without string interning, which will require further refactoring | ||||
* | give M extra param for tracking alloc size; macros for allocation | ubq323 | 2023-08-04 | 1 | -2/+4 |
| | |||||
* | move M to its own file | ubq323 | 2023-08-04 | 1 | -14/+1 |
| | |||||
* | valty_str -> typename_str | ubq323 | 2023-08-04 | 1 | -1/+1 |
| | |||||
* | add string object values. you can't do anything with them yet | ubq323 | 2023-08-04 | 1 | -2/+7 |
| | |||||
* | compilation of basic arithmetic exprs to bytecode | ubq323 | 2023-08-01 | 1 | -12/+11 |
| | |||||
* | dissasembler and basic arithmetic | ubq323 | 2023-08-01 | 1 | -11/+40 |
| | |||||
* | bytecode vm start, can print constants currently | ubq323 | 2023-07-31 | 1 | -0/+102 |