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
|
94b7f98362
|
Merge branch 'bytecode' of alea.ludus.dev:scott/rudus into bytecode
|
2025-06-19 20:29:41 -04:00 |
|
Scott Richmond
|
1af75bc516
|
fix upvalue resolution, start work on TCO
|
2025-06-19 20:29:15 -04:00 |
|
Scott Richmond
|
807b2e6ce0
|
fix upvalue resolution
|
2025-06-19 20:26:16 -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
|
4dd4b8ff7e
|
pseudocode splatted dict algo
|
2025-06-19 12:44:29 -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
|
647f3d4463
|
update punch list
|
2025-06-19 11:48:50 -04:00 |
|
Scott Richmond
|
fb2488c850
|
rough draft of new version of loop w/ 16 bit jumps
|
2025-06-18 19:03:45 -04:00 |
|
Scott Richmond
|
f6bfe0975b
|
update repeat w/ new jumps
|
2025-06-18 17:50:30 -04:00 |
|
Scott Richmond
|
ffe5d2ad61
|
panic on wrong number of args to functions
|
2025-06-18 16:47:53 -04:00 |
|
Scott Richmond
|
23298c8538
|
match now uses new jump; micro-optimize pop_n
|
2025-06-18 15:24:30 -04:00 |
|
Scott Richmond
|
77f1627132
|
update dict pattern for new jumps
|
2025-06-18 15:00:46 -04:00 |
|
Scott Richmond
|
6bd419125f
|
update list pattern compiling to reflect new jump logic
|
2025-06-18 14:52:15 -04:00 |
|
Scott Richmond
|
a5f2e2a9bd
|
tuple patterns now use jump_stub and patch_jump, with 16 bit jump values
|
2025-06-18 14:47:00 -04:00 |
|
Scott Richmond
|
a0ef6d2777
|
chip away at 16-bit jump instructions
|
2025-06-18 14:12:54 -04:00 |
|
Scott Richmond
|
d727096422
|
VM instructions now take 3 bytes
|
2025-06-18 14:12:10 -04:00 |
|
Scott Richmond
|
979afdbcb9
|
add jump fn for 16 bit jump
|
2025-06-18 13:15:57 -04:00 |
|
Scott Richmond
|
316e8a6a58
|
remove unused pattern.rs
|
2025-06-18 13:15:39 -04:00 |
|
Scott Richmond
|
ecd16e3aef
|
update thoughts
|
2025-06-10 15:44:47 -04:00 |
|
Scott Richmond
|
e3b5b96dc2
|
test out 16 bit operand math
|
2025-06-06 00:11:08 -04:00 |
|
Scott Richmond
|
6ded94f7d0
|
oops: put working document under version control
|
2025-06-06 00:06:23 -04:00 |
|
Scott Richmond
|
0347d10db7
|
first draft of complex string matching, discover jump mistake
|
2025-06-05 23:26:42 -04:00 |
|
Scott Richmond
|
77faf67191
|
fix InterpolatedPattern compilation
|
2025-06-05 21:23:08 -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
|
b8b720b877
|
add do forms
|
2025-06-05 12:15:49 -04:00 |
|
Scott Richmond
|
23b8beb291
|
fix extra pop regression
|
2025-06-05 12:04:02 -04:00 |
|
Scott Richmond
|
5ae4742840
|
save work, working on function clause guards, extra pop instructions are showing up after function definitions
|
2025-06-04 19:02:19 -04:00 |
|
Scott Richmond
|
0f8645d2eb
|
guards work in match forms
|
2025-06-04 18:55:40 -04:00 |
|
Scott Richmond
|
01ce043379
|
guards work in match forms
|
2025-06-04 18:51:07 -04:00 |
|
Scott Richmond
|
2ce2e2c2d3
|
let as last expr in block now returns rhs; clean up some comment cruft
|
2025-06-04 18:27:17 -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
|
c497b90a16
|
implement multiterm synthetic expressions
|
2025-06-03 19:13:40 -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
|
b6f9b35b4c
|
start major work on function compilation
|
2025-05-30 17:02:55 -04:00 |
|
Scott Richmond
|
34ab24c4c9
|
add as patterns
|
2025-05-30 14:57:51 -04:00 |
|