Skip to content

Commit 4a69249

Browse files
committed
Trim changelog to the exported unionWith change
1 parent a02cdbb commit 4a69249

1 file changed

Lines changed: 1 addition & 7 deletions

File tree

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
11
### Changed
22

3-
- Fused `unionWith` in `PlutusLedgerApi.V1.Data.Value` into two outer passes (`Map.union` + a single `Map.map`), down from the previous three. The discarded `unionVal` helper returned a full `Map CurrencySymbol (Map TokenName (These Integer Integer))` that `unionWith` then re-traversed; folding it in removes that second outer walk, and a currency present on only one side now has its token map mapped once rather than wrapped and then re-mapped. The `Map.union` lookup-and-merge core is unchanged, so this is a constant-factor improvement, not an algorithmic one.
4-
5-
- Fused `checkBinRel` along the same shape, walking the outer `Map.union` with `Map.all` and applying the relation against `0` on whichever side is missing. The inner per-currency merge now sits inside the `Map.all` predicate rather than in a separate eager pass, so the walk's short-circuit on the first failing pair also skips the inner merges of every later currency — previously the whole merged structure was built before any check ran. `geq` / `leq` / `gt` / `lt` inherit this early exit.
6-
7-
### Removed
8-
9-
- The internal `unionVal` and `checkPred` helpers from `PlutusLedgerApi.V1.Data.Value`. Both were module-internal (not exported); their only call sites — `unionWith` and `checkBinRel` — now do the merge directly.
3+
- Optimised `unionWith` in `PlutusLedgerApi.V1.Data.Value`: same semantics and signature, but the merge now runs in two outer passes instead of three. A constant-factor speedup, not an algorithmic one.

0 commit comments

Comments
 (0)