Commit Graph

96 Commits

Author SHA1 Message Date
Scott Richmond
888f5b62da send messages, motherfucker! 2025-06-26 20:30:40 -04:00
Scott Richmond
b35657e698 refactor to have a world run a process 2025-06-26 16:11:35 -04:00
Scott Richmond
b5528ced8f start work on actor model 2025-06-26 01:28:33 -04:00
Scott Richmond
d9f0b44bed so many things: DRY out VM, fix repeat tail calls, etc. 2025-06-24 15:50:02 -04:00
Scott Richmond
0290bb3bf2 update (fix?) partial function application stack discipline 2025-06-23 21:22:28 -04:00
Scott Richmond
772c56a6df fix upvalue resolution for forward-declared functions 2025-06-23 20:26:26 -04:00
Scott Richmond
987cc172c1 moar debugging: find issues with upvalues 2025-06-23 18:59:12 -04:00
Scott Richmond
6954857fdd fix dict pattern stack discipline 2025-06-23 17:33:45 -04:00
Scott Richmond
e4b385d2fb fix tail position in collection forms 2025-06-23 00:27:50 -04:00
Scott Richmond
bf97a34771 add turtle graphics, fix jump len error in tuple pattern 2025-06-22 23:57:11 -04:00
Scott Richmond
e4a948ba94 maybe actually fix the loop stuff; lots of QOL improvements 2025-06-22 19:42:25 -04:00
Scott Richmond
86de66c4d2 keep grinding; quality of life improvements to aid in grinding 2025-06-22 17:03:50 -04:00
Scott Richmond
2f60de79a2 keep grinding on loop/recur/jif stack mismatch; add ast->code printer 2025-06-22 14:04:43 -04:00
Scott Richmond
25a0c62dcf lots of bugs fixed--upvalues, bindings, stack manipulations, tail calls, etc. 2025-06-21 22:25:08 -04:00
Scott Richmond
583262f9e8 fix one-up closure resolution 2025-06-21 18:33:14 -04:00
Scott Richmond
b3e0af41bb constants need 16 bits 2025-06-20 15:56:13 -04:00
Scott Richmond
1e3fcde57a work on prelude; update tailcall to deal properly with base fns 2025-06-20 14:29:31 -04:00
Scott Richmond
ef134c0335 fix argument order in base fns 2025-06-20 12:49:31 -04:00
Scott Richmond
e580d68809 recursion works, so does mutual recursion; function call bugfixes 2025-06-20 12:32:15 -04:00
Scott Richmond
fa587e38cd fix binding bug 2025-06-20 00:33:25 -04:00
Scott Richmond
7e4ddd3dc4 improve panic traces; tail calls work for simpel calls 2025-06-19 21:13:18 -04:00
Scott Richmond
2f5dab84a7 tail calls work now? also print stack trace on panic 2025-06-19 20:52:19 -04:00
Scott Richmond
1af75bc516 fix upvalue resolution, start work on TCO 2025-06-19 20:29:15 -04:00
Scott Richmond
bf1e7e4072 rought draft of splatted fn args 2025-06-19 18:26:44 -04:00
Scott Richmond
442532ecd3 dict splatterns first draft 2025-06-19 15:56:23 -04:00
Scott Richmond
35d7d3b1c8 first draft of tuple splatterns 2025-06-19 12:37:29 -04:00
Scott Richmond
a4d68fa02e first draft of list splatterns 2025-06-19 12:18:09 -04:00
Scott Richmond
2b95094eca first stab at splatted lists 2025-06-19 12:06:47 -04:00
Scott Richmond
4871dbd048 add match splatted list opcode 2025-06-19 11:54:26 -04:00
Scott Richmond
ffe5d2ad61 panic on wrong number of args to functions 2025-06-18 16:47:53 -04:00
Scott Richmond
d727096422 VM instructions now take 3 bytes 2025-06-18 14:12:10 -04:00
Scott Richmond
0347d10db7 first draft of complex string matching, discover jump mistake 2025-06-05 23:26:42 -04:00
Scott Richmond
f8adaa7971 first draft of partial application, is working in easy cases 2025-06-05 16:45:23 -04:00
Scott Richmond
dee9bcfc33 start work on partial application, fix/abstract binding resolution 2025-06-05 16:10:40 -04:00
Scott Richmond
f3bf55fe72 add dict splats 2025-06-05 13:24:32 -04:00
Scott Richmond
b557c487cc add list splats 2025-06-05 13:05:07 -04:00
Scott Richmond
61b1b7bf90 closures work?! 2025-06-04 17:53:38 -04:00
Scott Richmond
bf2b16c30f add a print builtin/opcode 2025-06-03 19:26:01 -04:00
Scott Richmond
fc245348b4 start pulling base fns into bytecode interpreter 2025-06-03 18:54:33 -04:00
Scott Richmond
615fef6ebc function calls: first draft, worked out the obvious bugs 2025-06-03 17:30:00 -04:00
Scott Richmond
86992078e9 keywords and interned strings use &'static str instead of indexes into vecs 2025-06-03 16:23:37 -04:00
Scott Richmond
681176282c basic function calls, still with bugs! 2025-06-03 15:48:13 -04:00
Scott Richmond
22d1ceb3e8 vm.chunk -> vm.callframe.chunk 2025-06-02 13:34:23 -04:00
Scott Richmond
de3d7e834c maybe properly compile functions? need to start work on fn calls to test 2025-06-01 20:01:42 -04:00
Scott Richmond
34ab24c4c9 add as patterns 2025-05-30 14:57:51 -04:00
Scott Richmond
cda217f6ef add string interpolation 2025-05-30 11:44:32 -04:00
Scott Richmond
82ac6744ca or and and are now reserved words 2025-05-28 16:37:25 -04:00
Scott Richmond
182b14e5f4 add builtins, fix basic synthetic expressions 2025-05-27 14:15:12 -04:00
Scott Richmond
74cc0025d6 first draft loop/recur, seems to work? 2025-05-26 11:03:37 -04:00
Scott Richmond
db7eb5965d return register now an 8-member array 2025-05-26 09:16:47 -04:00