Appendix: historical dialects and implementations
This guide describes the recovered deployed dialect, not one repository at one moment.
Timeline
- The handwritten JavaScript implementation is the earliest surviving executable implementation.
- The old v0.3 specification documents
#/##paths and*multiplication. - The deployed language changed to
^/&paths andxmultiplication. - Studio used JavaScript generated from the Haxe implementation.
- The Python 2 implementation continued through 2018 and saw substantial production use.
Why Python is not the sole specification
Python contains later production fixes, deterministic key ordering, conversion builtins, and the strongest surviving test suite. It also contains observable host-language leaks:
- integer division under Python 2
- operand-returning
andandor - no
!!form - a broken builtin-override name
- incomplete
compilelibtest filtering
The recovered dialect therefore weighs production Python heavily but checks it against explicit documentation, Studio examples, HaxeJS, and handwritten JavaScript.
Confirmed implementation defects
- Both JavaScript implementations allow host coercion in numeric comparisons.
- Studio/HaxeJS merges the wrong value into scope for
!!. - Studio/HaxeJS returns null for an unparseable number where documentation and Python specify zero.
- Handwritten JavaScript predates conversion builtins and deterministic key ordering.
- Python returns logical operands where documentation and both JavaScript implementations specify booleans.
Deliberately unresolved
Uneven zip behavior differs between the old prose, Python builtin, and core
library. The guide only promises behavior for equal-length lists.
General map order is not semantic. keys and values are explicitly sorted in
the recovered dialect.
See ../dialect.md for the complete evidence policy and
../conformance.json for executable decisions.