ball_engine 0.4.3
ball_engine: ^0.4.3 copied to clipboard
Tree-walking interpreter for Ball programs that executes protobuf expression trees directly, with full std library and custom module handler support.
0.4.3 - 2026-09-13 #
0.4.2 - 2026-09-05 #
Bug Fixes #
- dart: extend the receiver-type seam to Map/String/null-aware receivers, stop four arity windows dropping an operand, and wire Tier B to the seam (advances #488) (#577) (fba36c2)
- std: one bool contract for set_add/set_remove across all targets + declared-outputType gate (#545) (#562) (d902ab1), closes #488
0.4.1 - 2026-09-05 #
0.4.0 - 2026-09-05 #
Bug Fixes #
- audit: #420 base-fn shadow surfacing + engine ambiguity guard (#434) (4e56897), closes #402 #402
- ci: unblock the release pipeline (dart analyze warning) + make PR analyze strict (#418) (f8a9e7d)
- cpp,encoder,engine: collision-free Set representation + self-host Set/goto (#174, #184) (b72d9d5), closes #179
- cpp: resolve a shadowed getter through virtual dispatch and gate the per-target coverage floors (#509) (81a4886), closes #501 #497 #501 #501 #501 #63 #63 #63 #501 #63 #59 #63 #59 #501 #63 #501 #461 #501 #501 #18 #501 #501 #63 #501 #501 #501 #501 #501
- encoder: route bare .reversed getter to std_collections.list_reverse (49941db)
- engine-chain: negative-zero toStringAsFixed (#101), portable set value (#68), num double methods (#100) (#170) (e15b769), closes hi#precision
- engine,cpp: inherited field initializers, fields named List/Map/Set, byte-exact toStringAsExponential/Precision (#166, #167, #100) (#181) (f0af396), closes #183 #170
- engine,encoder,compiler: primitive number getters (closes #106) (#107) (998c2b0), closes #96 93/#96 #67
- engine,encoder,compilers: String.runes → code points (closes #108) (#111) (09bd588), closes #106
- engine,encoder: List.reduce no-seed semantics + callback routing (#108) (#109) (1da2235), closes #69
- engine: await constructor futures inside _callFunction's try; weekly toolchain-drift CI run (#500) (7910c82), closes #497 C#-only
- engine: backward goto, BallDouble unwrapping, and symbol printing (#159) (3ab0bb5), closes 65/#67 65/#67 #foo #125 #115 #65 #67 #158 #bar #66 #158 65/#67
- engine: handle /= (double divide-assign); add full compound-op fixture (#64) (#99) (4f84bed)
- engine: implement std to_string_as_fixed handler + fixture (#64) (#102) (50cd6bd), closes #101
- engine: map_keys/map_values must fail loud on non-Map input (#197) (#203) (9e1ac96), closes #55 #202
- engine: only a this.-formal may write a constructor parameter into its field, and never destructure an inline-constructed argument (closes #539, closes #555) (#563) (040fc6c), closes #213 #561 489/#499 #514 #561 #561 #564 #564
- engine: Phase-2c coverage residual triage (issue #261) (#271) (265c3c5), closes #61
- engine: remove redundant BallDouble double-wrap (#237) + unique lambda paramCache key (#246) (#274) (430f37c), closes #222 #222
- engine: typeDef-less constructor must preserve explicit non-this fields (#198) (#216) (4cf4747)
- MapPattern must exclude portable Set value across compiler + engines (#178) (#200) (369f9da)
- type literals (#66) + setter parameter binding (#95) (#158) (cd1087b)
Features #
- cli: self-host cli_core.auditReport (advances #362) (#398) (6b82490), closes #55 #364
- engine: continue-to-labelled-switch-case (goto-via-switch) (#321) (#337) (2bc2111), closes #320
- std: add the universal std.type_of base function and stop a constructor from returning self (#512) (0e06d7d), closes #502 #489 #489 #499 #499 #489 #489 #513 #514 #499 #513 #514 #499 #499 #499 #527 #528 #528 #527 #532 #532 513/#514
0.3.0+6 #
0.3.0+5 #
0.3.0+4 #
0.3.0+3 #
0.3.0+2 #
0.3.0+1 #
- FIX(engine,encoder,compilers): String.runes → code points (closes #108) (#111). (09bd5880)
- FIX(engine,encoder): List.reduce no-seed semantics + callback routing (#108) (#109). (1da22352)
- FIX(engine,encoder,compiler): primitive number getters (closes #106) (#107). (998c2b04)
- FIX(engine): implement std to_string_as_fixed handler + fixture (#64) (#102). (50cd6bda)
- FIX(engine): handle /= (double divide-assign); add full compound-op fixture (#64) (#99). (4f84bed5)
- DOCS: apply documentation + code-comment audit fixes (#137). (58f3bf57)
- DOCS(agents): add hierarchical AGENTS.md across all packages (#131). (ae2e547d)
0.1.0 #
- Initial release.