PEGO

E060: Concat Input Fusion

Nested list, map and concat calls can build lists only for an outer concat to copy their elements. Fusion appends those elements directly to the final collection.

Mechanism and Invariants

Every concat argument must be a supported list/map/concat call. Mixed arguments stay general, preserving argument evaluation and error order. Closure evaluation and generated emitters push elements directly; VM expression instructions use list begin/push/map/end operations. The final published list still owns its copied-out storage.

Scope and State

Default eligible action expressions in closure, both VMs, generated Go Node, typed Go and TypeScript. It does not suppress map lambdas or arbitrary list-producing actions.

Reference Control

No independent universal fusion-disable reference control exists. Repetition projection is a separate analysis with its own control.

Evidence and Implementation

Historical record 037 reports JSON allocation volume from 21.4 to 20.0 MB and CSV from 15.6 to 14.0 MB in closure/generated paths. Record 044 ports fusion and native text comparisons to VMs with timing within roughly 3%. These results do not establish a current isolated effect in all targets.

Evidence records: 037, 044.

Source owners: concat element evaluation, ELISTBEGIN/ELISTPUSH/EMAPPUSH/ELISTEND, concat emission, concat emission.

The comparison policy distinguishes same-source controls, historical changes and full checkpoints.

Related mechanisms: E050, A040.

Optimization Catalog