Home / Input Output / plutus
Jun 04, 1-2 AM (0)
Jun 04, 2-3 AM (0)
Jun 04, 3-4 AM (0)
Jun 04, 4-5 AM (0)
Jun 04, 5-6 AM (0)
Jun 04, 6-7 AM (0)
Jun 04, 7-8 AM (1)
Jun 04, 8-9 AM (0)
Jun 04, 9-10 AM (0)
Jun 04, 10-11 AM (0)
Jun 04, 11-12 PM (0)
Jun 04, 12-1 PM (0)
Jun 04, 1-2 PM (0)
Jun 04, 2-3 PM (0)
Jun 04, 3-4 PM (0)
Jun 04, 4-5 PM (0)
Jun 04, 5-6 PM (0)
Jun 04, 6-7 PM (0)
Jun 04, 7-8 PM (0)
Jun 04, 8-9 PM (0)
Jun 04, 9-10 PM (0)
Jun 04, 10-11 PM (0)
Jun 04, 11-12 AM (0)
Jun 05, 12-1 AM (0)
Jun 05, 1-2 AM (0)
Jun 05, 2-3 AM (0)
Jun 05, 3-4 AM (0)
Jun 05, 4-5 AM (0)
Jun 05, 5-6 AM (0)
Jun 05, 6-7 AM (0)
Jun 05, 7-8 AM (0)
Jun 05, 8-9 AM (0)
Jun 05, 9-10 AM (0)
Jun 05, 10-11 AM (0)
Jun 05, 11-12 PM (0)
Jun 05, 12-1 PM (0)
Jun 05, 1-2 PM (0)
Jun 05, 2-3 PM (0)
Jun 05, 3-4 PM (0)
Jun 05, 4-5 PM (0)
Jun 05, 5-6 PM (0)
Jun 05, 6-7 PM (0)
Jun 05, 7-8 PM (0)
Jun 05, 8-9 PM (0)
Jun 05, 9-10 PM (0)
Jun 05, 10-11 PM (0)
Jun 05, 11-12 AM (0)
Jun 06, 12-1 AM (0)
Jun 06, 1-2 AM (0)
Jun 06, 2-3 AM (0)
Jun 06, 3-4 AM (0)
Jun 06, 4-5 AM (0)
Jun 06, 5-6 AM (0)
Jun 06, 6-7 AM (0)
Jun 06, 7-8 AM (0)
Jun 06, 8-9 AM (0)
Jun 06, 9-10 AM (0)
Jun 06, 10-11 AM (0)
Jun 06, 11-12 PM (0)
Jun 06, 12-1 PM (0)
Jun 06, 1-2 PM (0)
Jun 06, 2-3 PM (0)
Jun 06, 3-4 PM (0)
Jun 06, 4-5 PM (0)
Jun 06, 5-6 PM (0)
Jun 06, 6-7 PM (0)
Jun 06, 7-8 PM (0)
Jun 06, 8-9 PM (0)
Jun 06, 9-10 PM (0)
Jun 06, 10-11 PM (0)
Jun 06, 11-12 AM (0)
Jun 07, 12-1 AM (0)
Jun 07, 1-2 AM (0)
Jun 07, 2-3 AM (0)
Jun 07, 3-4 AM (0)
Jun 07, 4-5 AM (0)
Jun 07, 5-6 AM (0)
Jun 07, 6-7 AM (0)
Jun 07, 7-8 AM (0)
Jun 07, 8-9 AM (0)
Jun 07, 9-10 AM (0)
Jun 07, 10-11 AM (0)
Jun 07, 11-12 PM (0)
Jun 07, 12-1 PM (0)
Jun 07, 1-2 PM (0)
Jun 07, 2-3 PM (0)
Jun 07, 3-4 PM (0)
Jun 07, 4-5 PM (0)
Jun 07, 5-6 PM (0)
Jun 07, 6-7 PM (0)
Jun 07, 7-8 PM (0)
Jun 07, 8-9 PM (0)
Jun 07, 9-10 PM (0)
Jun 07, 10-11 PM (0)
Jun 07, 11-12 AM (0)
Jun 08, 12-1 AM (0)
Jun 08, 1-2 AM (0)
Jun 08, 2-3 AM (0)
Jun 08, 3-4 AM (0)
Jun 08, 4-5 AM (1)
Jun 08, 5-6 AM (0)
Jun 08, 6-7 AM (0)
Jun 08, 7-8 AM (1)
Jun 08, 8-9 AM (1)
Jun 08, 9-10 AM (0)
Jun 08, 10-11 AM (2)
Jun 08, 11-12 PM (0)
Jun 08, 12-1 PM (0)
Jun 08, 1-2 PM (0)
Jun 08, 2-3 PM (0)
Jun 08, 3-4 PM (0)
Jun 08, 4-5 PM (0)
Jun 08, 5-6 PM (0)
Jun 08, 6-7 PM (0)
Jun 08, 7-8 PM (0)
Jun 08, 8-9 PM (0)
Jun 08, 9-10 PM (0)
Jun 08, 10-11 PM (0)
Jun 08, 11-12 AM (0)
Jun 09, 12-1 AM (0)
Jun 09, 1-2 AM (0)
Jun 09, 2-3 AM (0)
Jun 09, 3-4 AM (0)
Jun 09, 4-5 AM (0)
Jun 09, 5-6 AM (2)
Jun 09, 6-7 AM (0)
Jun 09, 7-8 AM (2)
Jun 09, 8-9 AM (0)
Jun 09, 9-10 AM (2)
Jun 09, 10-11 AM (0)
Jun 09, 11-12 PM (0)
Jun 09, 12-1 PM (0)
Jun 09, 1-2 PM (0)
Jun 09, 2-3 PM (0)
Jun 09, 3-4 PM (0)
Jun 09, 4-5 PM (3)
Jun 09, 5-6 PM (0)
Jun 09, 6-7 PM (0)
Jun 09, 7-8 PM (0)
Jun 09, 8-9 PM (0)
Jun 09, 9-10 PM (0)
Jun 09, 10-11 PM (0)
Jun 09, 11-12 AM (0)
Jun 10, 12-1 AM (0)
Jun 10, 1-2 AM (0)
Jun 10, 2-3 AM (0)
Jun 10, 3-4 AM (0)
Jun 10, 4-5 AM (0)
Jun 10, 5-6 AM (0)
Jun 10, 6-7 AM (1)
Jun 10, 7-8 AM (0)
Jun 10, 8-9 AM (1)
Jun 10, 9-10 AM (0)
Jun 10, 10-11 AM (1)
Jun 10, 11-12 PM (0)
Jun 10, 12-1 PM (0)
Jun 10, 1-2 PM (0)
Jun 10, 2-3 PM (1)
Jun 10, 3-4 PM (1)
Jun 10, 4-5 PM (0)
Jun 10, 5-6 PM (0)
Jun 10, 6-7 PM (1)
Jun 10, 7-8 PM (1)
Jun 10, 8-9 PM (1)
Jun 10, 9-10 PM (1)
Jun 10, 10-11 PM (0)
Jun 10, 11-12 AM (0)
Jun 11, 12-1 AM (0)
Jun 11, 1-2 AM (0)
24 commits this week Jun 04, 2026 - Jun 11, 2026
Make default builtins 32-bit-correct (wasm32): bounds-check index/length narrowing
On 32-bit targets (notably wasm32) several builtin denotations narrow an
Integer index/length to the platform Int before bounds-checking, which
wraps and silently diverges from 64-bit evaluation. Gate the fixes behind
WORD_SIZE_IN_BITS so 64-bit platforms compile the original code unchanged:
no semantics, cost, or golden change on any platform the node runs on.

Affected: sliceByteString, indexByteString, readBit, indexArray,
integerToByteString (hardcoded 8-byte word), and the PlutusTx wrappers.

Fixes #7808.
refactor(testlib): replace freshNames helpers with fresh.<hint> dot-syntax
Use OverloadedRecordDot for fresh-name generation in the Transform.* specs:
fresh.a in place of the freshNames2..8 ladder and name. The Unique is derived
from the hint text, so one hint denotes one variable.

Complete the Transform.Lib migration for floatDelay4, and reword the true/false
and fresh-name docs per review.
chore: extract UPLC term constructors into Transform.Lib
Move helpers (`var`, `lam`, `app`, `delay`, `case_`, `builtin`,
`addInteger`) from `Transform.Inline.Spec` into a new shared
`Transform.Lib` module, extend with `force`, `con`, `err`, `headList`,
`ite`, `true`, `false`, `constr`, and a `T` alias for
`Term Name DefaultUni DefaultFun ()`.

Migrate `Transform.Simplify.Spec` to use these helpers throughout,
replacing inline `LamAbs ()` / `Apply ()` / `Force ()` / `Delay ()` /
`Var ()` / `Builtin ()` / `Error ()` / `mkConstant @Integer ()` /
`Constr ()` / `Case () _ (V.fromList _)` constructors and per-test
`plus`/`con` duplicates. Inline trivial `let one = con 1` /
`two = con 2` / `three = con 3` bindings.

Local bindings that shadowed top-level helpers are renamed to
semantic identifiers describing their role (`dupLam`, `forceAddLam`,
`applyLam`, `delayLam`, `trueBranch`, `falseBranch`).

No behaviour change; all goldens unchanged.