Cheeky  Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2025-09-22
18:19
Add integer operators interpreter tests Leaf check-in: bbee75c799 user: lac tags: trunk
2025-09-21
08:10
Prevent local variables from being resolved as such while parsing a nested function's parameter list check-in: db92381206 user: lac tags: trunk
2025-09-19
19:02
Implemented tests (and fixes) for IR generation of integer operators check-in: 1a34e023cb user: lac tags: trunk
2025-09-18
20:42
  • Fix the comptime/computed value distinction versus constant/any param
  • Implemented tests for IR generation of ct_int computation
check-in: 6c7d4b2dc0 user: lac tags: trunk
17:55
Fix an issue with the way types were encoded as value, which prevented custom types from being recognized as such in some cases check-in: ee4770d4a3 user: lac tags: trunk
2025-09-15
17:36
Silence a bunch of the warnings caused by compiling with logging off check-in: e5fe8afe65 user: lac tags: trunk
17:30
Add tests (and fixes) for compile-time ct_int operators check-in: 44cba0489c user: lac tags: trunk
2025-09-14
14:32
Some renaming to prepare for a future proper separation between "prelude/library mode .cy0 files" and "normal mode .cy1 files" check-in: 7b3f27cb44 user: lac tags: trunk
2025-09-13
10:18
Implement arithmetic, logic and comparison operators for int check-in: dc727f3448 user: lac tags: trunk
2025-09-12
19:44
Implement arithmetic, logic and comparison operators for ct_int check-in: ca8810864e user: lac tags: trunk
2025-09-11
18:34
Some renaming before adding a bunch of crap check-in: f4da76a767 user: lac tags: trunk
18:28
Handle parenthesized expressions by adding a coercion rules that peels off tuples when they contain only one element check-in: 28058c9069 user: lac tags: trunk
2025-09-10
22:57
Add parsing rules and polyfunc declarations for arithmetic, logic, shift and comparison operators check-in: 0afb997753 user: lac tags: trunk
19:33
Change the function return type syntax to use a trailing arrow because the previous syntax have unworkable ambiguousness issues wrt calls, especially since parametric types will be comptime function calls check-in: 05a9cba1e4 user: lac tags: trunk
18:17
Logic and comparison IR instructions for bools check-in: 9bc2782896 user: lac tags: trunk
2025-09-09
21:13
Arithmetic, logic and comparison IR instructions for ints check-in: bb1226d964 user: lac tags: trunk
18:08
Added arithmetic, logic and comparison IR instructions for comptime ints check-in: 87b3d1d3f9 user: lac tags: trunk
2025-09-08
17:12
Split the interpreter into multiple files check-in: 6efb163d72 user: lac tags: trunk
2025-09-05
18:35
CTBigInt->Int coercion check-in: b62e0cf0e1 user: lac tags: trunk
2025-09-04
20:38
Fix extremely serious formatting mishap check-in: f09862828a user: lac tags: trunk
20:37
Func: register parameters for destruction check-in: 859877061d user: lac tags: trunk
20:08
Update deps check-in: 2bdcbfa8c8 user: lac tags: trunk
20:04
Add integer type check-in: 0eea66b6f8 user: lac tags: trunk
18:28
Implemented while (only IR generation tests for now because I just realised that I can't really test it without arithmetic and comparisons 🤡) check-in: 03d5b917ff user: lac tags: trunk
2025-09-03
20:46
Implemented if expressions check-in: 572417670d user: lac tags: trunk
2025-09-02
22:57
Remove a TODO comment that was already addressed check-in: 034aca8817 user: lac tags: trunk
21:20
When parsing if, detect "else" directly in token form rather than resolved, so that if someone chooses to use the "else" name for something, it won't break if parsing. (that's silly either way, but... I'll allow it) check-in: ff2ad213a8 user: lac tags: trunk
21:07
  • Expanded the "expected outcome" of irgen beyond just a bool indicating that it returns: we also need to know if it actually generates the value carrying it or if it needs to be appended (because some values such as staged calls are meant to carry some irgen around but should never themselves be emitted into the ir)
  • Factored out if ir generation (so if expr will be able to reuse it)
  • Simplified if parsing
  • Added tests, and fixed standalone if
check-in: 402eafb6f3 user: lac tags: trunk
2025-09-01
21:10
  • Fix some overload resolution and type checking issues
  • Implement value destruction (nothing implements destroy_value yet though)
check-in: 24e3018b3a user: lac tags: trunk
17:09
  • Fix nested scope management
  • Make function overloads only visible in the scope they are declared in
  • Nested blocks properly create nested scopes
check-in: bacfba8f71 user: lac tags: trunk
2025-08-31
18:47
Update deps check-in: a38b810aca user: lac tags: trunk
18:44
Add some profiling instrumentation check-in: 6e382be4bf user: lac tags: trunk
2025-08-30
22:33
Handle nested and expression brace blocks. check-in: 2771516015 user: lac tags: trunk
16:31
Tokenizer: fix peeking at block opener tokens advancing to the end of the block check-in: 126a317f17 user: lac tags: trunk
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 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]
  • Added tests for, and fixed compile time if
  • Added a "WrappedValue" type, considered a high penalty generic match to pass around "any comptime value" because the old way to do this was breaking the type system (implementing compile time if somehow exposed this issue)
  • Cleaned up the way builtin function calls are handled (to solve an issue exposed when implementing WrappedValue)
  • Fixed the way return values are type checked (to solve an issue exposed when refactoring the builtin function calls)
check-in: 7efeb325e0 user: lac tags: trunk
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