Commit graph

27 commits

Author SHA1 Message Date
4d406a11f7
Make memory allocation safer by avoiding passing raw pointers around 2024-11-29 23:04:04 +00:00
d017884c5b
Implement tail calls 2024-11-03 18:18:15 +00:00
be4224a22b
Implement exception guards and serialization/deserialization 2024-10-05 20:55:46 +01:00
d496a95b51
Implement "task" and "task-result" objects for stdlib IO 2024-09-27 02:33:41 +01:00
810707b349
Rename props->value in continuation object 2024-09-24 19:18:01 +01:00
4a7afa0626
Add continuation type 2024-09-23 21:23:25 +01:00
51de7e3547
Switch the stack frame to store current frame PC instead of parent's 2024-09-13 21:15:57 +01:00
f16850d26c
Switch to immutable stack frames from array-based stack 2024-09-13 00:54:32 +01:00
213ce07f34
Turn the stack data structure to hierarchical stack frame 2024-09-12 22:43:38 +01:00
02dce3e11c
Add an error class to represent runtime errors 2024-09-07 17:37:12 +01:00
aa1d8d7fa9
Expose the source location class to the compiler/vm 2024-09-05 23:22:45 +01:00
8f10ca2b50
Improve support of syntax objects 2024-09-03 00:24:44 +01:00
7d160da5d0
Implement access to previously defined functions in REPL 2024-09-01 14:31:25 +01:00
c7a3e820e0
Implement basic stdlib and a simple "println" function callable from lisp 2024-08-25 00:55:11 +01:00
66502cac69
Implement enough of function call support to make "factorial" function 2024-08-24 00:28:29 +01:00
6fcd231694
Implement VM opcode for closure capture 2024-08-21 23:45:19 +01:00
040eb540b1
Implement reading and writing from stack 2024-08-12 23:05:40 +01:00
f305901121
Return compiled function from the compile() 2024-08-11 21:37:37 +01:00
db6ff8deba
Add "Opcode" type 2024-08-10 18:24:16 +01:00
935c629460
Add error location reporting 2024-08-10 11:17:20 +01:00
4c7b44ff01
Stop passing arena explicitly 2024-08-09 23:45:06 +01:00
b40f835bfb
Simplify the handling of OffPtr 2024-08-06 20:32:55 +01:00
1f14624664
Garbage-collect dictionaries properly 2024-08-03 02:54:53 +01:00
a3724e1c78
Add dicts and super primitive test suite 2024-08-01 18:56:38 +01:00
42a5b7da2b
Add arrays and boilerplate for the compiler 2024-07-30 23:52:23 +01:00
f87822933a
Make garbage collection work 2024-07-30 00:14:09 +01:00
baa10bb56b
Initial implementation of arena with gc roots 2024-07-20 22:42:49 +01:00