Commit Graph

82 Commits

Author SHA1 Message Date
Scott Richmond
45d2e7e742 rough, not yet working, draft of dict patterns 2025-05-25 19:09:21 -04:00
Scott Richmond
cf51822128 add list patterns, fix dict stack mechanics 2025-05-25 16:30:20 -04:00
Scott Richmond
4f7ba56d1f properly compile when expressions? 2025-05-23 17:59:09 -04:00
Scott Richmond
ce1612a30c compiler: decouple stack & bindings resetting 2025-05-23 13:43:35 -04:00
Scott Richmond
1ef0da5dd1 compiler: decouple stack & bindings resetting 2025-05-23 13:42:29 -04:00
Scott Richmond
4a4b2b22ed oh god, so many changes. working on tuple matching 2025-05-23 00:09:35 -04:00
Scott Richmond
a7ee8f8e57 vm::run is now a loop, not vm::interpret as a tailcall 2024-12-27 00:47:22 -05:00
Scott Richmond
8908630a21 add match_depth to vm 2024-12-27 00:22:01 -05:00
Scott Richmond
6f582bff06 refactor if/else to match in guard compilation 2024-12-26 23:48:38 -05:00
Scott Richmond
f5965fdb44 compile guards in match forms 2024-12-26 23:46:06 -05:00
Scott Richmond
cfe0b83192 fix block compilation; compile & run repeat 2024-12-26 23:33:57 -05:00
Scott Richmond
4fa2ce5e78 separate compiler & chunk 2024-12-26 19:03:09 -05:00
Scott Richmond
a4f12c8f7d continue work on compiling functions 2024-12-23 10:55:28 -05:00
Scott Richmond
9f4e630544 get lifetime out of Chunk, thus out of Value 2024-12-22 19:51:02 -05:00
Scott Richmond
be23ee6c44 get simple match forms done 2024-12-22 19:33:59 -05:00
Scott Richmond
d943185db8 do lots of work 2024-12-22 19:07:42 -05:00
Scott Richmond
d4342b0623 get binding & pretty debugging working 2024-12-18 01:28:23 -05:00
Scott Richmond
48754f92a4 do work 2024-12-17 23:45:39 -05:00
Scott Richmond
096d8d00bc add untracked from opening bytecode branch 2024-12-15 23:50:12 -05:00
Scott Richmond
eff2ed90d5 some simple bytecodes! 2024-12-15 17:54:40 -05:00
Scott Richmond
86aea78c21 start working on a bytecode interpreter! 2024-12-15 16:37:51 -05:00
Scott Richmond
d4af160f80 things & stuff 2024-12-14 13:43:08 -05:00
Scott Richmond
73e60b8ced bring full prelude into Ludus. 2024-12-12 19:43:56 -05:00
Scott Richmond
49a0b0f8a7 fix loop validation bugs 2024-12-12 19:28:55 -05:00
Scott Richmond
ac4bd0fb55 improve panic reports 2024-12-12 19:01:51 -05:00
Scott Richmond
273267f61d a slow and brute-force approach to the problem of re-binding closed-over forward declarations 2024-12-12 01:19:39 -05:00
Scott Richmond
5e73c5cb3b ariadne hooked up to panic messages 2024-12-12 00:31:57 -05:00
Scott Richmond
229470fee3 refactor process to use visit method everywhere 2024-12-11 19:11:40 -05:00
Scott Richmond
ecc7b26b66 process now uses spans, for to give panic locations 2024-12-11 18:58:59 -05:00
Scott Richmond
7431cbf380 start debugging full prelude 2024-12-11 17:32:31 -05:00
Scott Richmond
6a01089973 closing works, so does importing from Prelude! 2024-12-11 17:22:37 -05:00
Scott Richmond
567d3da4be get closing working? 2024-12-11 16:43:13 -05:00
Scott Richmond
5b41365caa add args to processes 2024-12-11 15:45:34 -05:00
Scott Richmond
f4fbae10e6 context -> process 2024-12-11 15:42:50 -05:00
Scott Richmond
36c5d125fb validator validates recursive functions 2024-12-11 15:36:23 -05:00
Scott Richmond
35e9d0373d arity checking--of local functions 2024-12-11 00:20:34 -05:00
Scott Richmond
eafe7a7fa9 complete first draft of validator 2024-12-10 23:42:05 -05:00
Scott Richmond
f5a6facb1c move patterns, clauses into AST 2024-12-10 22:26:52 -05:00
Scott Richmond
dde9ac4bff loop arity checking 2024-12-10 18:07:31 -05:00
Scott Richmond
e9b52e1488 improve do & recur errs 2024-12-10 17:39:02 -05:00
Scott Richmond
4c9659271b first draft of synthetic validation 2024-12-10 17:23:15 -05:00
Scott Richmond
ec38bcdc8c start testing, fixing 2024-12-10 17:14:26 -05:00
Scott Richmond
d48a787447 all the work trying to write a validator 2024-12-10 16:44:52 -05:00
Scott Richmond
383f21fbd8 many refactorings; unfucked lifetimes? 2024-12-08 23:33:02 -05:00
Scott Richmond
6ba05f31e6 finish fighting with lifetimes: string pattern matching works! 2024-12-07 23:56:19 -05:00
Scott Richmond
5a64c6623c fighting with lifetimes 2024-12-07 22:29:10 -05:00
Scott Richmond
2a26316b50 parse string patterns, perhaps correctly, perhaps not 2024-12-07 18:26:25 -05:00
Scott Richmond
13c14fd38f finish base, I think 2024-12-06 14:08:34 -05:00
Scott Richmond
5e10a87cbc keep adding to base, pull type function from value to base 2024-12-06 13:21:25 -05:00
Scott Richmond
96906fdb9f tick some boxes 2024-12-05 14:02:41 -05:00