Scott Richmond
|
69d574abcc
|
fix upvalue resolution for forward-declared functions
|
2025-06-23 20:26:26 -04:00 |
|
Scott Richmond
|
c836278dcc
|
moar debugging: find issues with upvalues
|
2025-06-23 18:59:12 -04:00 |
|
Scott Richmond
|
8fd880f749
|
fix dict pattern stack discipline
|
2025-06-23 17:33:45 -04:00 |
|
Scott Richmond
|
2658939b0a
|
fix tail position in collection forms
|
2025-06-23 00:27:50 -04:00 |
|
Scott Richmond
|
9cb36f5189
|
add turtle graphics, fix jump len error in tuple pattern
|
2025-06-22 23:57:11 -04:00 |
|
Scott Richmond
|
ad13f8b038
|
maybe actually fix the loop stuff; lots of QOL improvements
|
2025-06-22 19:42:25 -04:00 |
|
Scott Richmond
|
17ff00f570
|
keep grinding; quality of life improvements to aid in grinding
|
2025-06-22 17:03:50 -04:00 |
|
Scott Richmond
|
d762458bb3
|
keep grinding on loop/recur/jif stack mismatch; add ast->code printer
|
2025-06-22 14:04:43 -04:00 |
|
Scott Richmond
|
3ac08a1991
|
lots of bugs fixed--upvalues, bindings, stack manipulations, tail calls, etc.
|
2025-06-21 22:25:08 -04:00 |
|
Scott Richmond
|
16fed32000
|
fix one-up closure resolution
|
2025-06-21 18:33:14 -04:00 |
|
Scott Richmond
|
ac06504979
|
constants need 16 bits
|
2025-06-20 15:56:13 -04:00 |
|
Scott Richmond
|
f244b97c4a
|
work on prelude; update tailcall to deal properly with base fns
|
2025-06-20 14:29:31 -04:00 |
|
Scott Richmond
|
fac7d71732
|
fix argument order in base fns
|
2025-06-20 12:49:31 -04:00 |
|
Scott Richmond
|
062e7d5126
|
recursion works, so does mutual recursion; function call bugfixes
|
2025-06-20 12:32:15 -04:00 |
|
Scott Richmond
|
50a3aa9a61
|
fix binding bug
|
2025-06-20 00:33:25 -04:00 |
|
Scott Richmond
|
838dc68d48
|
improve panic traces; tail calls work for simpel calls
|
2025-06-19 21:13:18 -04:00 |
|
Scott Richmond
|
1600311e47
|
tail calls work now? also print stack trace on panic
|
2025-06-19 20:52:19 -04:00 |
|
Scott Richmond
|
430e29a608
|
fix upvalue resolution, start work on TCO
|
2025-06-19 20:29:15 -04:00 |
|
Scott Richmond
|
fdb4713d98
|
rought draft of splatted fn args
|
2025-06-19 18:26:44 -04:00 |
|
Scott Richmond
|
66534a2429
|
dict splatterns first draft
|
2025-06-19 15:56:23 -04:00 |
|
Scott Richmond
|
2b92046c4a
|
first draft of tuple splatterns
|
2025-06-19 12:37:29 -04:00 |
|
Scott Richmond
|
e44cf56860
|
first draft of list splatterns
|
2025-06-19 12:18:09 -04:00 |
|
Scott Richmond
|
3c8e7c10d5
|
first stab at splatted lists
|
2025-06-19 12:06:47 -04:00 |
|
Scott Richmond
|
7d900b5bc6
|
add match splatted list opcode
|
2025-06-19 11:54:26 -04:00 |
|
Scott Richmond
|
8e8c457ce6
|
panic on wrong number of args to functions
|
2025-06-18 16:47:53 -04:00 |
|
Scott Richmond
|
36033de22f
|
VM instructions now take 3 bytes
|
2025-06-18 14:12:10 -04:00 |
|
Scott Richmond
|
73d94101d7
|
first draft of complex string matching, discover jump mistake
|
2025-06-05 23:26:42 -04:00 |
|
Scott Richmond
|
d330fc3046
|
first draft of partial application, is working in easy cases
|
2025-06-05 16:45:23 -04:00 |
|
Scott Richmond
|
d4bda075d8
|
start work on partial application, fix/abstract binding resolution
|
2025-06-05 16:10:40 -04:00 |
|
Scott Richmond
|
0b0e869d85
|
add dict splats
|
2025-06-05 13:24:32 -04:00 |
|
Scott Richmond
|
8d3e817b6e
|
add list splats
|
2025-06-05 13:05:07 -04:00 |
|
Scott Richmond
|
8909f7350b
|
closures work?!
|
2025-06-04 17:53:38 -04:00 |
|
Scott Richmond
|
911702f4bf
|
add a print builtin/opcode
|
2025-06-03 19:26:01 -04:00 |
|
Scott Richmond
|
aaa9ab2e98
|
start pulling base fns into bytecode interpreter
|
2025-06-03 18:54:33 -04:00 |
|
Scott Richmond
|
6e6fc1030b
|
function calls: first draft, worked out the obvious bugs
|
2025-06-03 17:30:00 -04:00 |
|
Scott Richmond
|
1b462ce8ce
|
keywords and interned strings use &'static str instead of indexes into vecs
|
2025-06-03 16:23:37 -04:00 |
|
Scott Richmond
|
85338bcbf9
|
basic function calls, still with bugs!
|
2025-06-03 15:48:13 -04:00 |
|
Scott Richmond
|
5075e118c0
|
vm.chunk -> vm.callframe.chunk
|
2025-06-02 13:34:23 -04:00 |
|
Scott Richmond
|
d85fce26da
|
maybe properly compile functions? need to start work on fn calls to test
|
2025-06-01 20:01:42 -04:00 |
|
Scott Richmond
|
d9eedb7ba0
|
add as patterns
|
2025-05-30 14:57:51 -04:00 |
|
Scott Richmond
|
663435e223
|
add string interpolation
|
2025-05-30 11:44:32 -04:00 |
|
Scott Richmond
|
e2617de4e9
|
or and and are now reserved words
|
2025-05-28 16:37:25 -04:00 |
|
Scott Richmond
|
0d48509c51
|
add builtins, fix basic synthetic expressions
|
2025-05-27 14:15:12 -04:00 |
|
Scott Richmond
|
472010c526
|
first draft loop/recur, seems to work?
|
2025-05-26 11:03:37 -04:00 |
|
Scott Richmond
|
efefa77b6e
|
return register now an 8-member array
|
2025-05-26 09:16:47 -04:00 |
|
Scott Richmond
|
943eaf22fe
|
dict patterns prolly work? one-level nested patterns work
|
2025-05-25 19:14:34 -04:00 |
|
Scott Richmond
|
7725e5546c
|
rough, not yet working, draft of dict patterns
|
2025-05-25 19:09:21 -04:00 |
|
Scott Richmond
|
9d1ccb1c00
|
add list patterns, fix dict stack mechanics
|
2025-05-25 16:30:20 -04:00 |
|
Scott Richmond
|
db4c537db6
|
compiler: decouple stack & bindings resetting
|
2025-05-23 13:42:29 -04:00 |
|
Scott Richmond
|
55361dd7c1
|
oh god, so many changes. working on tuple matching
|
2025-05-23 00:09:35 -04:00 |
|