Commit Graph

159 Commits

Author SHA1 Message Date
hl-valdemar 0625359d62 feat: execute optional type-valued compile-time storage
Preserve owned optional metadata snapshots, nested presence, captures, checked unwraps and erased specialization identity. Verify imported nominal ownership across repeated compilation. Bootstrap: 299 passed. Native: 1080 programs plus 5 allocator programs passed with a temporary 120-second command deadline; bounded inline expansion exceeds the harness default of 30 seconds.
2026-10-30 19:47:25 +01:00
hl-valdemar 83b6153e72 feat: construct partial compile-time type records 2026-10-30 18:36:40 +01:00
hl-valdemar 32a7a1de24 feat: materialize readonly typed compile-time slices 2026-10-30 18:03:36 +01:00
hl-valdemar cc39c96fc0 feat: materialize address-free compile-time untagged unions
Snapshot full union storage rather than choosing an overlapping field. Preserve structural union source syntax independently of nominal identity so direct literal arguments materialize and share normalized specialization keys. Reject uninitialized bytes and address-bearing member layouts.
2026-10-30 16:35:11 +01:00
hl-valdemar c8890b4355 feat: materialize nonzero-sentinel compile-time byte slices
Own nonzero trailing sentinels in canonical string-backed snapshots and preserve specialization identity across computed and direct views.

Verified: bro build; bro test (296 passed); python3 tests/native.py (1026 interpreter/native comparisons at -O0/-O2, 5 native allocator programs, LLVM output and CLI errors).
2026-10-30 15:48:54 +01:00
hl-valdemar 8e790b30cc feat: materialize readonly compile-time byte slices 2026-10-30 15:21:44 +01:00
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