Cheeky  Timeline

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

50 most recent check-ins

2025-07-26
22:16
Remove the index from the function CFG dump, it's useless and pointlessly breaks the tests all the time Leaf 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
  • get_call_rule: cache and reuse the call rule found for the callee
  • call_rule: add a method to get all possible return types from the callee
check-in: 4869870073 user: lac tags: trunk
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
  • Added missing context guards when trying multiple signature branches and between candidate typechecking rules
  • Added proper typechecking rules error handling for cases that are clearly wrong and shouldn't fall back to the next best rule (which accidentally "worked" because of the above)
  • Removed the hackish "coercing a fresh identifier against something yields an error" coercion rules, instead fixed the comptime builder that incorrectly discarded values that were already comptime constants
  • Fixed declaring anonymous functions
  • Added code to dump the IR (cfg) of a function
  • Added a test for (and fixed) var declarations
check-in: a9c9f4867f user: lac tags: trunk
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
  • Added "Borrow" and "Release" Ir instructions, emitted when coercing a ref into a borrow
  • Added a system to push "cleanup" ir code generation to emit cleanup instructions after a call (for example borrow then release)
  • Implemented builtin intrinsic functions
  • Implemented assignment operator
  • Implemented coercion of var to mutable ref
check-in: f42510e932 user: lac tags: trunk
2025-06-09
19:15
  • added #as_param() to transform function parameter declarations
  • convert reference parameters to borrow parameters
check-in: 7e364d1b7b user: lac tags: trunk
2025-05-25
23:07
  • ir, interpreter: added address manipulation and storage instructions
  • very first version of local variable declaration (untested)
check-in: bc2803c7f8 user: lac tags: trunk
2025-05-20
20:14
  • Fixed func decl versus call precedence
  • Added tests for argument type function polymorphism
  • Factored some testing boilerplate and reorganized test files
check-in: a3518f27f5 user: lac tags: trunk
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
  • Fixed parsing issue with implicit return values
  • Fixed incorrect return value type when coercing StagedCalls to regular and builtin functions
  • Fixed wrong handling of return values in the interpreter
  • Added a test for function return values
  • Added a way to log the content of a cfg and display it in the log viewer
check-in: 30d3bacce0 user: lac tags: trunk
2025-05-17
12:35
  • Make Index<Location> default initialization return the current location, rather than a nil location
  • Make Index<Value> carry an Index<Location> to keep track of where values are referenced from (and not only where they are defined at)
check-in: 285364f380 user: lac tags: trunk
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
  • Invalidate the resolver cache whenever a scope is pushed or popped (so that for instance the next token looked ahead after a comptime expression gets resolved again in the proper scope)
  • Directly take Sequences in the env api instead of sequence values
  • Fix the construction of function identities and the identity under which polymorphic functions are bound
  • Properly diagnose undefined identifiers used as part of an expression
  • Actually use anonymous holes instead of holes with empty strings as name
check-in: ed75f304eb user: lac tags: trunk
2025-04-16
21:09
  • Add missing Param wrappers when generating function types
  • Calling functions with parameters now works (the parameters themselves don't but one thing at a time)
check-in: dd1641219f user: lac tags: trunk
19:09
  • Fix GenericStagedCall definition
  • Fix coerce() to use the same ranking as polymorphic_func's try_resolve_macro_call (since non macro overload call resolution are now done through coerce())
  • Overload commit_value for StagedCall that triggers type resolution for the entire expression tree and detects and complains about failed resolutions
  • Added a test for invalid function call diagnostics
check-in: c1fda7a69c user: lac tags: trunk
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
  • Improved logging
  • Implemented filtering in log_viewer
  • Diagnose undefined identifiers
check-in: d4bfca6b69 user: lac tags: trunk
2025-03-20
20:07
comptime: actually activate the comptime scope that hides runtime symbols check-in: e1e7f264d1 user: lac tags: trunk
2025-03-14
17:56
Prevent runtime symbols (parameters, local variables once they are implemented) from being visible from inside comptime expressions check-in: 7a75c855a6 user: lac tags: trunk
2025-03-07
23:42
Add function call tests check-in: 1f9ca29579 user: lac tags: trunk
2025-03-06
23:51
Update dependencies check-in: dcceb9d1e0 user: lac tags: trunk
23:45
Upgrade to ariadne 0.5, fix error messages check-in: 109fe09927 user: lac tags: trunk
23:11
Clean up diagnostics management a bit check-in: 60d5381924 user: lac tags: trunk
2025-03-05
23:25
Fix the remaining tests check-in: dd0452ecf0 user: lac tags: trunk
2025-02-28
19:04
Fix struct_to_val test check-in: 9b5fe57a13 user: lac tags: trunk
18:58
Fix pattern_map test check-in: 8ea8922085 user: lac tags: trunk
00:37
Add codium syntax highlighting check-in: 64c0948fb5 user: lac tags: trunk
2025-02-26
00:02
Error out when attempting to recursively call a function during its own parsing with the # operator. check-in: 78d78f2f6c user: lac tags: trunk
2025-02-25
00:35
Update dependencies check-in: b06f99bf4e user: lac tags: trunk
00:25
Fix a couple of warnings check-in: 817a89e6d2 user: lac tags: trunk
00:22
Implemented non-builtin func calls and a myriad of related fixes and logger improvements. The top level file is also implcitely compiled as a function and then executed. check-in: a70f5eae0c user: lac tags: trunk
2025-01-16
22:01
Handle overload definitions check-in: 876102e03f user: lac tags: trunk
18:51
Function body parsing check-in: ad63c4c559 user: lac tags: trunk
2025-01-07
23:46
Function definition syntax check-in: 14c205bec5 user: lac tags: trunk
2025-01-06
19:35
Function declaration parsing check-in: 00676790ac user: lac tags: trunk