Commit graph

18 commits

Author SHA1 Message Date
d496a95b51
Implement "task" and "task-result" objects for stdlib IO 2024-09-27 02:33:41 +01:00
bb71669c83
Implement printing backtraces on VM execution errors 2024-09-15 03:32:52 +01:00
e9b9ef6d61
Extract call() and ret() into the StackFrame from VM 2024-09-15 01:43: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
7d160da5d0
Implement access to previously defined functions in REPL 2024-09-01 14:31:25 +01:00
5279b44441
Load from globals only at the top level, do rest with closures 2024-08-31 19:42:27 +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
ecbdc17f2b
Compile comparison operations 2024-08-23 21:30:05 +01:00
5948bfa973
First working implementation of closures 2024-08-22 17:21:05 +01:00
6fcd231694
Implement VM opcode for closure capture 2024-08-21 23:45:19 +01:00
fce8b84276
Implement compiling lambda functions and function calls 2024-08-17 23:22:21 +01:00
81eb5e43ce
Implement simple conditionals 2024-08-15 01:18:05 +01:00
3a117c9b1f
Enable execution of primitive arithmetic bytecode 2024-08-13 01:11:23 +01:00
040eb540b1
Implement reading and writing from stack 2024-08-12 23:05:40 +01:00
8ff01726cc
Initial commit - add basic boilerplate for POD types 2024-07-19 02:29:30 +01:00