Deploying to gh-pages from @ IntersectMBO/plutus@5b401b3ba95d2b8ecf9454aca7bf704bfd69f13c 🚀
Home /
Input Output /
plutus
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 (1)
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 (3)
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)
Jun 11, 2-3 AM (0)
Jun 11, 3-4 AM (0)
Jun 11, 4-5 AM (1)
Jun 11, 5-6 AM (0)
Jun 11, 6-7 AM (0)
Jun 11, 7-8 AM (1)
Jun 11, 8-9 AM (5)
Jun 11, 9-10 AM (0)
Jun 11, 10-11 AM (0)
Jun 11, 11-12 PM (0)
Jun 11, 12-1 PM (0)
Jun 11, 1-2 PM (3)
Jun 11, 2-3 PM (0)
Jun 11, 3-4 PM (0)
Jun 11, 4-5 PM (0)
Jun 11, 5-6 PM (0)
Jun 11, 6-7 PM (0)
Jun 11, 7-8 PM (0)
Jun 11, 8-9 PM (0)
Jun 11, 9-10 PM (0)
Jun 11, 10-11 PM (0)
Jun 11, 11-12 AM (0)
Jun 12, 12-1 AM (0)
Jun 12, 1-2 AM (0)
Jun 12, 2-3 AM (0)
Jun 12, 3-4 AM (0)
Jun 12, 4-5 AM (0)
Jun 12, 5-6 AM (1)
Jun 12, 6-7 AM (1)
Jun 12, 7-8 AM (2)
Jun 12, 8-9 AM (0)
Jun 12, 9-10 AM (0)
Jun 12, 10-11 AM (2)
Jun 12, 11-12 PM (3)
Jun 12, 12-1 PM (3)
Jun 12, 1-2 PM (2)
Jun 12, 2-3 PM (1)
Jun 12, 3-4 PM (0)
Jun 12, 4-5 PM (0)
Jun 12, 5-6 PM (0)
Jun 12, 6-7 PM (0)
Jun 12, 7-8 PM (0)
Jun 12, 8-9 PM (0)
Jun 12, 9-10 PM (0)
Jun 12, 10-11 PM (0)
Jun 12, 11-12 AM (0)
Jun 13, 12-1 AM (0)
Jun 13, 1-2 AM (0)
Jun 13, 2-3 AM (0)
Jun 13, 3-4 AM (0)
Jun 13, 4-5 AM (0)
50 commits this week
Jun 06, 2026
-
Jun 13, 2026
refactor(testlib): use composition in inlineImpure4
Compose the force/delay chain with (.) instead of mixing ($) and parens, and lay the mkInlinePurityTest argument out across lines. Same term.
add Plutus Benchmarks (customSmallerIsBetter) benchmark result for 5b401b3ba95d2b8ecf9454aca7bf704bfd69f13c
Deploying to gh-pages from @ IntersectMBO/plutus@5b401b3ba95d2b8ecf9454aca7bf704bfd69f13c 🚀
Deploying to gh-pages from @ IntersectMBO/plutus@5b401b3ba95d2b8ecf9454aca7bf704bfd69f13c 🚀
Certifier: Generate one Proof .agda file per certified pass (#7814)
In an Agda certificate, all work for type-checking the translation relation proofs is done in the top-level agda module. This PR instead constructs a module per pass which has the corresponding translation relation proof. This is useful for performance debugging when type-checking an agda certificate, as we can see a break-down of the decision procedure's performance. So in addition to Pass_xyz/AST.agda, there is now also Passxyz/Proof.agda. The top-level module simply imports the proofs and constructs the certificate proof (a big tuple).
Update list of ignored Agda tests
Rename and extend test cases
refactor(testlib): adopt Transform.Lib in transform specs
Replace raw UPLC constructors and the per-arity fresh-name plumbing in the Simplify, Inline, CaseOfCase and EvaluateBuiltins specs with the shared Transform.Lib helpers. Golden outputs are unchanged.
chore(testlib): add Transform.Lib helpers
Shared UPLC term builders for the Transform.*.Spec modules: var "x" / lam "x" for occurrences and binders, name "x" for the bare Name, the ite helper, and the sopTrue/sopFalse vs builtinTrue/builtinFalse boolean constants. Variable identity is derived deterministically from the hint text; see Note [Names from textual hints].
Merge branch 'master' into kwxm/parser/value-ascending-keys
Remove unnecessary IsString instance
refactor(testlib): adopt Transform.Lib in transform specs
Replace raw UPLC constructors and the per-arity fresh-name plumbing in the Simplify, Inline, CaseOfCase and EvaluateBuiltins specs with the shared Transform.Lib helpers and the var.x / lam.x / name.x dot syntax. Golden outputs are unchanged.
chore(testlib): add Transform.Lib helpers
Shared UPLC term builders for the Transform.*.Spec modules: var.x and lam.x occurrence/binder handles via OverloadedRecordDot, name.x for bare names, the ite helper, and the sopTrue/sopFalse vs builtinTrue/builtinFalse boolean constants. Variable identity is derived deterministically from the hint text, so one hint denotes one variable.
Split up proof of certificate in per-pass module
refactor(testlib): add ite helper, split sop/builtin boolean constants
Rename true/false to sopTrue/sopFalse (the sum-of-products Bool encoding) and add builtinTrue/builtinFalse (the builtin bool constant), so the two encodings are named explicitly. Add an `ite` helper for the forced ifThenElse application and use it across the CaseOfCase, EvaluateBuiltins and Simplify specs, dropping the local `ite` in Simplify.
refactor(testlib): use Transform.Lib helpers in CaseOfCase/EvaluateBuiltins
Replace raw constructors with the shared helpers (app, builtin, force, case_, con, text, constr, true, false, err) and chained `app` for mkIterApp, in the two modules that already import Transform.Lib. Only mkConstant @Bool / @() / @BS.ByteString stay raw, as Lib has no equivalent (con/text cover Integer/Text).
refactor(testlib): use var/lam handles in CaseOfCase and EvaluateBuiltins
Replace raw `Var () name.x` / `LamAbs () name.x` with the var.x / lam.x handles for consistency with the other transform specs. These modules keep their raw constructors for the non-variable parts (mkIterApp, Force, Builtin, Constr).
refactor(testlib): rename fresh handle to name
The bare-Name handle does not allocate fresh names; it derives a deterministic Unique from the hint text, so `name.x` reads more accurately than `fresh.x` (addresses review feedback). Rename the goldenVs* test-name params to testName to avoid shadowing the imported handle.
refactor(testlib): var.x / lam.x dot-handles for term construction
Turn var and lam into OverloadedRecordDot handles (var.x :: T, lam.x :: T -> T) so occurrences and binders read as var.x / lam.x instead of var fresh.x. Bare names (predicate args, free-var lists, raw-constructor modules) still come from the fresh handle. Drop the now-redundant brackets and $ that hlint flagged.
fix: recover constrained types for ignored lambdas