Commit Graph

153 Commits

Author SHA1 Message Date
hl-valdemar 6748b38eac feat: materialize computed compile-time callbacks 2026-10-30 14:23:12 +01:00
hl-valdemar c65f41db43 feat: infer generic arguments from expected results 2026-10-30 13:43:24 +01:00
hl-valdemar b1cc97cc77 refactor: use grouped matches for parser token membership 2026-10-30 12:42:38 +01:00
hl-valdemar e90d4f0829 feat: execute existing hash maps through Honey 2026-10-30 12:17:57 +01:00
hl-valdemar 31a1bf1995 refactor: remove enum-map lookup wrappers 2026-10-30 11:33:03 +01:00
hl-valdemar 30a98db379 refactor: precompute compiler enum mappings 2026-10-30 11:16:35 +01:00
hl-valdemar d7e637dc3b feat: support compound updates and bitwise operators 2026-10-30 09:59:44 +01:00
hl-valdemar 670ba8f756 feat: support yielding value blocks 2026-10-29 23:45:08 +01:00
hl-valdemar 9838b253ee feat: support optional-capture conditional expressions
Reuse canonical matches for optional presence and exact by-value payload captures across checking, lowering and compile-time selection.

Snapshot the optional-match flag before selector construction: AST additions can reallocate storage and invalidate the borrowed tree until refresh.

Verified 268 bootstrap tests and 908 interpreter/native programs at -O0 and -O2, plus native allocator, LLVM and CLI checks.
2026-10-29 22:53:59 +01:00
hl-valdemar 46fc7f4c46 feat: support boolean conditional expressions 2026-10-29 21:56:58 +01:00
hl-valdemar b832504f10 style: spell AST flag masks in binary 2026-10-29 21:46:36 +01:00
hl-valdemar 9ccb9be01f refactor: preserve compact AST node metadata 2026-10-29 21:01:13 +01:00
hl-valdemar 73684f856a feat: run existing ArrayList with imported C allocator 2026-10-29 20:51:59 +01:00
hl-valdemar 026fe36325 feat: support existing enum map initialization and lookup 2026-10-29 16:33:35 +01:00
hl-valdemar 6f892bbfcc feat: add compile-time type metadata reflection 2026-10-29 16:07:58 +01:00
hl-valdemar c6acff91fd feat: expand composed error-set inline match arms 2026-10-28 13:56:28 +01:00
hl-valdemar 5cf9e15661 feat: expand nominal inline match arms 2026-10-28 13:08:17 +01:00
hl-valdemar dc7b2e40e2 feat: expand heterogeneous inline tuples 2026-10-28 12:36:48 +01:00
hl-valdemar 20539ab455 feat: expand constant inline for loops 2026-10-28 12:14:42 +01:00
hl-valdemar 741ebbf484 feat: generate records from compile-time collections 2026-10-28 04:20:23 +01:00
hl-valdemar 440ef93a23 feat: pass type-valued records across compile-time procedures 2026-10-28 03:09:14 +01:00
hl-valdemar ae5314462a feat: execute initialized compile-time type records
Recognize type-bearing storage syntactically so recursive nominal fields expand only after instance caching.
2026-10-28 01:17:36 +01:00
hl-valdemar 443de49d55 feat: construct uninitialized compile-time value arrays 2026-10-28 01:07:16 +01:00
hl-valdemar ca53dab86b feat: construct uninitialized compile-time type arrays 2026-10-27 18:24:12 +01:00
hl-valdemar e00a2abe27 feat: implement compile-time field selection reflection 2026-10-27 16:51:55 +01:00
hl-valdemar 88b51274df feat: pass type-valued arrays across compile-time procedure boundaries 2026-10-27 16:15:22 +01:00
hl-valdemar 80867825e3 feat: execute type-valued arrays in type-producing procedures 2026-10-27 15:53:37 +01:00
hl-valdemar 0aca64a77e feat: execute collection and index iteration 2026-10-27 15:24:19 +01:00
hl-valdemar 0f5d3c222a feat: execute aggregate updates in type-producing procedures 2026-10-27 13:31:48 +01:00
hl-valdemar 08b171d3ff feat: execute optional captures in type-producing procedures 2026-10-27 13:17:08 +01:00
hl-valdemar c3e10b3bed feat: specialize constant matches in generic procedures
Reuse checked match selection for generic constant subjects and explicit match $(). Preserve owned captures, runtime scope and control transfers; keep ordinary calls, mutable subjects and potential runtime defaults unprobed. Update README and TODO checkpoint boundaries.

Verified: bro build; bro test (250 passed); python3 tests/native.py (555 interpreter/native comparisons at -O0/-O2, allocator, LLVM and CLI checks); direct interpreter/native constant-match smoke (42).
2026-10-27 13:06:11 +01:00
hl-valdemar 8d1a98f982 style: compact inner groups and simple guard bodies 2026-10-27 12:50:30 +01:00
hl-valdemar f062389ccc docs: allow concise bodies after multiline guards 2026-10-27 12:40:04 +01:00
hl-valdemar d5a351606d docs: allow compact inner expression grouping 2026-10-27 12:39:29 +01:00
hl-valdemar 84e3ed0cc8 style: align layout and ownership documentation 2026-10-27 11:15:36 +01:00
hl-valdemar 4a134b49dd docs: distinguish binding and pointee mutability 2026-10-27 11:07:18 +01:00
hl-valdemar 182bb3c3e0 feat: execute tagged-union matches in type procedures
Preserve resolver failures on synthetic selector captures before elaborating payloads; selector bodies omit the original capture uses.

Verified bro build, bro test (250 passed), and tests/native.py (536 interpreter/native programs at -O0 and -O2, allocator, LLVM and CLI checks).
2026-10-27 01:57:36 +01:00
hl-valdemar bf65f3c2c3 feat: materialize tagged-union and fallible constants 2026-10-27 01:41:06 +01:00
hl-valdemar e5215c4092 feat: execute nested compile-time type matches 2026-10-27 01:20:28 +01:00
hl-valdemar 85c60f2416 feat: execute compile-time matches in type procedures 2026-10-26 17:43:40 +01:00
hl-valdemar 8c174e8756 feat: execute mutable type-valued compile-time procedures 2026-10-26 17:18:54 +01:00
hl-valdemar 303a21a8f5 feat: specialize constant-input type-producing procedures 2026-10-26 16:49:19 +01:00
hl-valdemar 565733666e feat: specialize compile-time conditionals and type comparisons 2026-10-26 16:33:20 +01:00
hl-valdemar 4de7c8bfc3 feat: evaluate compile-time aggregates and explicit expressions 2026-10-26 16:14:05 +01:00
hl-valdemar ecd20675ea feat: evaluate compile-time scalar procedure calls 2026-10-26 15:34:38 +01:00
hl-valdemar 6886d743b5 feat: specialize generic type and value parameters 2026-10-26 14:45:14 +01:00
hl-valdemar 9058135326 feat: support fallible results and scoped cleanup 2026-10-26 13:01:55 +01:00
hl-valdemar cd64afbb40 feat: complete memory representation gate 2026-10-26 12:37:03 +01:00
hl-valdemar 7856f4f963 feat: support callback signatures and many-pointer addition 2026-10-26 11:46:40 +01:00
hl-valdemar 676f3666b4 feat: support source pointers and references 2026-10-26 11:32:22 +01:00