Cheeky  Timeline

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

50 most recent check-ins

2026-04-26
16:17
Pass the function's kind to as_param() leaf check-in: 11218a843e user: lac tags: trunk
2026-04-25
13:47
Add tests for, and fix function argument destruction check-in: 99f27ab768 user: lac tags: trunk
2026-04-17
19:58
Move the current result out of parser and into its own separate context. check-in: 442154f9b3 user: lac tags: trunk
2026-04-16
23:04
Another minor cleanup check-in: 57b412e544 user: lac tags: trunk
22:56
Some cleanup check-in: 1e4741ea70 user: lac tags: trunk
22:33
Cleanup and simplify the handling of block and function return values:
  • Remove PendingIrGen
  • Add a result value under construction in Parser
  • Get rid of IrGenOutcome, use Void/Never type on the result value to indicate if it has a no value or discontinues execution
check-in: 7d932da3f3 user: lac tags: trunk
2026-04-10
22:55
Fix the way builtin functions are created and looked up so that they can be overriden by user code, plus some misc cleanups check-in: 4800a4bc03 user: lac tags: trunk
2026-04-01
23:41
Return: properly handle destruction for all active builders at the point of returning. check-in: 2d0e71d3b3 user: lac tags: trunk
2026-03-31
17:49
Refactor attached values identities a bit so we can create a brace block's identity in advance if we need to. check-in: 5284244565 user: lac tags: trunk
2026-03-29
18:48
Begin implementing break/continue check-in: fa4346a9b0 user: lac tags: trunk
2026-03-27
17:35
Implement return stmt check-in: 537eff1079 user: lac tags: trunk
2026-03-19
18:36
Remove stray debug print check-in: 28982c90e0 user: lac tags: trunk
18:34
  • Some more work on the llvm backend
  • Fix some shit that came loose in the interpreter
  • Improved the macros to define builtin generic types and values
check-in: a625ab52ff user: lac tags: trunk
2026-03-16
18:58
  • Fix logging build
  • Update deps
check-in: 7b7ed916ad user: lac tags: trunk
18:48
llvm backend: implement mangling check-in: 9d0ff05c5b user: lac tags: trunk
2026-03-13
18:35
  • Fix function identity construction (don't include param names, properly prefix overloads)
  • Fix scoped overloads, add tests
check-in: 75cf2c34d0 user: lac tags: trunk
18:03
Refactor parameter typechecking to distinguish regular and function params, and whether they need to only match constants, to fix some issue with inline code blocks, and getting rid of some hacks. check-in: 577bb0d7ec user: lac tags: trunk
2026-02-17
23:32
llvm backend: implement type and value conversions for some of the basic types check-in: 3359855521 user: lac tags: trunk
2026-02-16
23:23
  • Fix polymorphic function specialization
  • Fix function identity not including specialized parameters
  • Added tests for polymorphic function specialization
check-in: 12987069a9 user: lac tags: trunk
2026-02-05
23:35
Added overridable functions to build llvm types and values check-in: 20b3ebba34 user: lac tags: trunk
2026-02-04
19:53
Add type and value lowering overridable functions check-in: 387689df58 user: lac tags: trunk
2026-02-03
23:02
Begin llvm backend implementation check-in: 5fb21721bf user: lac tags: trunk
2026-01-16
17:22
  • Add a tool to build llvm
  • Add inkwell, point it to the llvm built by the above tool
check-in: 7d1d14f691 user: lac tags: trunk
2026-01-15
20:16
Update deps check-in: cc6d14109c user: lac tags: trunk
20:10
Move out log viewer and dev setup to the tools directory check-in: 62ba9be15c user: lac tags: trunk
2026-01-13
22:51
More cleanup of old files from more renaming fuck ups check-in: d9c748ba3e user: lac tags: trunk
21:00
Explicitely emit a load instruction when reading a var to get the IR closer to the llvm IR that we want to generate check-in: ef4db2cb03 user: lac tags: trunk
2026-01-09
20:45
Remove an old file that was still around because of a renaming fuck up check-in: 9cf1e76af6 user: lac tags: trunk
2026-01-06
20:19
Update deps check-in: a92baad789 user: lac tags: trunk
19:45
  • Separate boolean and/or operators and shortcircuit evaluation operators.
  • Implemented compound assignment operators.
  • Painfully fixed several vexing problems related to type checking, solution scoring, and passing "raw" values to builtin funcs
check-in: 332a627f6c user: lac tags: trunk
2025-09-23
17:31
Implemented logic and comparison operators for bool check-in: d5a8c97f38 user: lac tags: trunk
2025-09-22
18:19
Add integer operators interpreter tests 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