Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
50 most recent check-ins
2025-08-27
| ||
17:42 | Indexed: replaced VecDeque (which it turns out doesn't work like c++ deque like I assumed 🤡) with a custom paged array implementation to avoid reallocations moving things around, breaking references and causing random segfaults. Shit has held up surprisingly well until now all things considered Leaf check-in: 8a20836a60 user: lac tags: trunk | |
2025-08-26
| ||
22:59 | Fix default pretty printing rule that would have recursed infinitely if it was ever called check-in: 47421d8ddc user: lac tags: trunk | |
22:28 | Remove a few imports that are were longer used check-in: cf3bf37108 user: lac tags: trunk | |
21:57 | Imporve pretty printing a bit more. IR dumps now almost look remotely ok when squinting a bit check-in: 4ed7a564cb user: lac tags: trunk | |
21:48 | Clean up the value encoding of all the fundamental types that have a direct representation, removing some old hacks from before builtin types were fleshed out enough check-in: 7c48c3426e user: lac tags: trunk | |
19:40 | Make Value's debug trait impl actually use the pretty printing system so that IR dumps look a bit less like shit check-in: 8cf0b95224 user: lac tags: trunk | |
2025-08-25
| ||
23:32 | Preserve irgen accross overload resolution as well check-in: 0ab1fe6a87 user: lac tags: trunk | |
23:20 | Remove a stale comment check-in: 7332f228e2 user: lac tags: trunk | |
23:18 | Fix coercion rules not preserving prior irgen queued up in the input value when constructing their result value (in particular in staged_call coercion rules) check-in: 9b6c09d753 user: lac tags: trunk | |
22:11 | Clean up some tidy warnings check-in: 8b5bcc5fad user: lac tags: trunk | |
21:17 | Implemented standalone if check-in: 170b8b9f5d user: lac tags: trunk | |
18:16 | Change value weight calculation so that it depends only on nesting depth check-in: ac932191a4 user: lac tags: trunk | |
2025-08-24
| ||
14:57 |
[20_minutes_in_and_out_adventure.jpg]
| |
2025-08-12
| ||
10:23 | Fix first, obvious bug in compile-time if check-in: 6b2f1796fe user: lac tags: trunk | |
10:20 | Implemented compile-time if. check-in: 62bd78be59 user: lac tags: trunk | |
10:18 | Set project to use rust 2024 (separate cl to isolate reformatting noise) check-in: d26a932f1e user: lac tags: trunk | |
2025-08-11
| ||
17:30 | Update deps check-in: 2f1d8ae587 user: lac tags: trunk | |
17:23 | Do not generate IR directly when commiting values, but instead maintain a tree of irgen functions and only run it after parsing an entire function body. This is necessary so we can pass around values and control where their computation is generated. It will be needed to implement shortcut evaluation operators, and any other intrinsic function that wants to create diverging execution flows for its operands. check-in: 2bb3142fb3 user: lac tags: trunk | |
2025-07-26
| ||
22:16 | Remove the index from the function CFG dump, it's useless and pointlessly breaks the tests all the time check-in: a7fdb56d3f user: lac tags: trunk | |
22:09 | Don't implicitely evaluate as part of the comptime builder, move that into an "eval" function to call explcitely when needed check-in: 6246e14e45 user: lac tags: trunk | |
2025-07-23
| ||
17:52 | Add missing resolver::next() when pulling a brace block in get_expr_or_braceblock() check-in: 96f507833f user: lac tags: trunk | |
17:47 | if statement/expr parsing check-in: 0cb948a1f8 user: lac tags: trunk | |
2025-07-22
| ||
18:25 | Implement a function to reconcile multiple alternative values for a target type (for if expressions) check-in: 6943c47135 user: lac tags: trunk | |
17:30 | call rule: remove the code to retrieve possible return types, which was intended to implement a completely wrong approach to handling if expressions check-in: b6a569ff05 user: lac tags: trunk | |
2025-07-17
| ||
18:05 | Store StagedCall's callee into its type (we want the type of the result of a staged call to be defined by the StagedCall's type, it will be needed to unify the result types of if expression branches) check-in: 58351e7e4a user: lac tags: trunk | |
17:39 |
| |
2025-07-16
| ||
18:04 | Update deps check-in: 2b8e15e707 user: lac tags: trunk | |
17:54 | Split out code block parsing so it can be reused for statements check-in: c0b234692c user: lac tags: trunk | |
2025-07-08
| ||
18:08 | Ir, interpreter: add branch and conditional branch block terminators check-in: b31be64bdf user: lac tags: trunk | |
2025-07-04
| ||
17:22 | Added a test for, and fixed variable assignment check-in: e653aaac86 user: lac tags: trunk | |
2025-07-02
| ||
18:04 |
| |
2025-06-18
| ||
21:05 | Update deps check-in: b70279616d user: lac tags: trunk | |
21:02 | Minor cleanup check-in: 306fd653fa user: lac tags: trunk | |
20:47 |
| |
2025-06-09
| ||
19:15 |
| |
2025-05-25
| ||
23:07 |
| |
2025-05-20
| ||
20:14 |
| |
2025-05-19
| ||
22:44 | Update deps check-in: dbc5f6fc0a user: lac tags: trunk | |
22:41 | Added tests for, and fixed return type function polymorphism check-in: d07383c0d5 user: lac tags: trunk | |
2025-05-18
| ||
23:31 |
| |
2025-05-17
| ||
12:35 |
| |
2025-04-24
| ||
18:26 | Fix function argument passing, add test check-in: 72b4bca4cc user: lac tags: trunk | |
2025-04-23
| ||
21:30 | Update deps check-in: 4f79f2f6e1 user: lac tags: trunk | |
21:22 |
| |
2025-04-16
| ||
21:09 |
| |
19:09 |
| |
2025-04-15
| ||
23:08 | Update repo's syntax highlighting check-in: 226cd33d6d user: lac tags: trunk | |
22:56 | logger: always enable wal mode on the db even during tests check-in: ae0c53fec7 user: lac tags: trunk | |
22:50 | Update deps check-in: 9eb4c10cc6 user: lac tags: trunk | |
22:18 |
| |