Commit Graph

144 Commits

Author SHA1 Message Date
hl-valdemar 22b40d3718 fix: propagate contextual compile-time execution 2026-11-01 19:48:51 +01:00
hl-valdemar 1f457d6b41 feat: support existing io.print formatting 2026-11-01 13:52:27 +01:00
hl-valdemar e036070bf2 feat: infer compile-time metadata locals 2026-11-01 11:03:39 +01:00
hl-valdemar 4fea18b834 feat: execute explicitly annotated compile-time metadata locals 2026-10-31 10:48:55 +01:00
hl-valdemar ee7eeac894 feat: execute value-returning compile-time metadata helpers 2026-10-31 03:34:11 +01:00
hl-valdemar ebae8e712c feat: execute tagged type-valued compile-time storage 2026-10-31 03:18:48 +01:00
hl-valdemar 4a1b30d9d5 feat: execute readonly type-valued compile-time slices 2026-10-31 02:44:39 +01:00
hl-valdemar 15cbebe40f feat: execute fallible type-valued compile-time storage 2026-10-30 20:24:26 +01:00
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 84e3ed0cc8 style: align layout and ownership documentation 2026-10-27 11:15:36 +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