Canonical evaluator audit effects and their ordering algebra.
Effect lists are stored newest-first while evaluation is in progress. Merging therefore places the newer delta before the older value. Prelude call counts add, and newer cache writes win key conflicts.
Summary
Functions
Adds prelude-call counts without changing other effect fields.
Returns effects in their public chronological representation.
Computes the effects added to a cumulative value after a baseline.
Returns an empty effect value.
Merges a newer effect value onto an older one.
Merges effect deltas already ordered by ascending semantic execution order.
Records one cache write.
Records one parallel-call ledger entry in newest-first order.
Increments one public prelude-call count.
Records one already-bounded print in newest-first order.
Records one already-compacted tool ledger entry in newest-first order.
Types
Functions
@spec add_prelude_counts(t(), %{required(String.t()) => non_neg_integer()}) :: t()
Adds prelude-call counts without changing other effect fields.
Returns effects in their public chronological representation.
Computes the effects added to a cumulative value after a baseline.
List suffixes and count baselines are removed. Cache entries are retained when their value differs from the baseline, including overwrites of an existing key.
@spec empty() :: t()
Returns an empty effect value.
Merges a newer effect value onto an older one.
Lists remain newest-first, counts add, and newer cache entries win.
Merges effect deltas already ordered by ascending semantic execution order.
Records one cache write.
Records one parallel-call ledger entry in newest-first order.
Increments one public prelude-call count.
Records one already-bounded print in newest-first order.
Records one already-compacted tool ledger entry in newest-first order.