Commit Graph

160 Commits

Author SHA1 Message Date
Scott Richmond
66534a2429 dict splatterns first draft 2025-06-19 15:56:23 -04:00
Scott Richmond
bdce1a76ef pseudocode splatted dict algo 2025-06-19 12:44:29 -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
0de01e3e17 update punch list 2025-06-19 11:48:50 -04:00
Scott Richmond
c2e9e018b4 rough draft of new version of loop w/ 16 bit jumps 2025-06-18 19:03:45 -04:00
Scott Richmond
97157813b1 update repeat w/ new jumps 2025-06-18 17:50:30 -04:00
Scott Richmond
8e8c457ce6 panic on wrong number of args to functions 2025-06-18 16:47:53 -04:00
Scott Richmond
81730af988 match now uses new jump; micro-optimize pop_n 2025-06-18 15:24:30 -04:00
Scott Richmond
4ec35b6dc9 update dict pattern for new jumps 2025-06-18 15:00:46 -04:00
Scott Richmond
95acb3361a update list pattern compiling to reflect new jump logic 2025-06-18 14:52:15 -04:00
Scott Richmond
f129eca045 tuple patterns now use jump_stub and patch_jump, with 16 bit jump values 2025-06-18 14:47:00 -04:00
Scott Richmond
9e3c71fcb2 chip away at 16-bit jump instructions 2025-06-18 14:12:54 -04:00
Scott Richmond
36033de22f VM instructions now take 3 bytes 2025-06-18 14:12:10 -04:00
Scott Richmond
8c865c87c0 add jump fn for 16 bit jump 2025-06-18 13:15:57 -04:00
Scott Richmond
2a45348d74 remove unused pattern.rs 2025-06-18 13:15:39 -04:00
Scott Richmond
fe3c95987d update thoughts 2025-06-10 15:44:47 -04:00
Scott Richmond
2aad460f28 test out 16 bit operand math 2025-06-06 00:11:08 -04:00
Scott Richmond
bc29caf0b2 oops: put working document under version control 2025-06-06 00:06:23 -04:00
Scott Richmond
73d94101d7 first draft of complex string matching, discover jump mistake 2025-06-05 23:26:42 -04:00
Scott Richmond
55ca86b6a3 fix InterpolatedPattern compilation 2025-06-05 21:23:08 -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
41a54523c3 add do forms 2025-06-05 12:15:49 -04:00
Scott Richmond
a0e184dee7 fix extra pop regression 2025-06-05 12:04:02 -04:00
Scott Richmond
32f7a036cd 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
1e295cb483 guards work in match forms 2025-06-04 18:55:40 -04:00
Scott Richmond
e32f4a0226 guards work in match forms 2025-06-04 18:51:07 -04:00
Scott Richmond
5660d62aff let as last expr in block now returns rhs; clean up some comment cruft 2025-06-04 18:27:17 -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
3f48d2e49f implement multiterm synthetic expressions 2025-06-03 19:13:40 -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
da9a71e85e start major work on function compilation 2025-05-30 17:02:55 -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
bccafbd4ab update repeat 2025-05-26 08:32:33 -04:00