Commit Graph

71 Commits

Author SHA1 Message Date
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
Scott Richmond
6cbe253f6e vm::run is now a loop, not vm::interpret as a tailcall 2024-12-27 00:47:22 -05:00
Scott Richmond
420415f984 add match_depth to vm 2024-12-27 00:22:01 -05:00
Scott Richmond
0719e4a276 fix block compilation; compile & run repeat 2024-12-26 23:33:57 -05:00
Scott Richmond
5618cf9ef8 get lifetime out of Chunk, thus out of Value 2024-12-22 19:51:02 -05:00
Scott Richmond
e8a90c5356 get simple match forms done 2024-12-22 19:33:59 -05:00
Scott Richmond
068a8aa724 do lots of work 2024-12-22 19:07:42 -05:00
Scott Richmond
27443444e3 get binding & pretty debugging working 2024-12-18 01:28:23 -05:00
Scott Richmond
044c7264f8 do work 2024-12-17 23:45:39 -05:00
Scott Richmond
e61d07efa6 add untracked from opening bytecode branch 2024-12-15 23:50:12 -05:00
Scott Richmond
2aa9892d25 some simple bytecodes! 2024-12-15 17:54:40 -05:00
Scott Richmond
fc8896908d many refactorings; unfucked lifetimes? 2024-12-08 23:33:02 -05:00
Scott Richmond
df4fc68326 type alias for Context 2024-12-08 00:02:01 -05:00
Scott Richmond
1a620c3682 finish fighting with lifetimes: string pattern matching works! 2024-12-07 23:56:19 -05:00
Scott Richmond
fec57635e3 fighting with lifetimes 2024-12-07 22:29:10 -05:00
Scott Richmond
74db9a7f53 finish base, I think 2024-12-06 14:08:34 -05:00
Scott Richmond
a739dfd794 keep adding to base, pull type function from value to base 2024-12-06 13:21:25 -05:00
Scott Richmond
fb572e4acc tick some boxes 2024-12-05 14:02:41 -05:00
Scott Richmond
04a09c5ccc add some functions, base fns return values, not results 2024-12-04 20:19:41 -05:00
Scott Richmond
d3e026733a complete string interpolation 2024-12-04 19:07:03 -05:00
Scott Richmond
da60fed78d add ref-counted string type 2024-12-04 15:03:09 -05:00