Home / Input Output / plutus
Mar 10, 7-8 PM (3)
Mar 10, 8-9 PM (2)
Mar 10, 9-10 PM (1)
Mar 10, 10-11 PM (1)
Mar 10, 11-12 AM (2)
Mar 11, 12-1 AM (2)
Mar 11, 1-2 AM (2)
Mar 11, 2-3 AM (1)
Mar 11, 3-4 AM (0)
Mar 11, 4-5 AM (0)
Mar 11, 5-6 AM (0)
Mar 11, 6-7 AM (2)
Mar 11, 7-8 AM (1)
Mar 11, 8-9 AM (1)
Mar 11, 9-10 AM (1)
Mar 11, 10-11 AM (2)
Mar 11, 11-12 PM (1)
Mar 11, 12-1 PM (0)
Mar 11, 1-2 PM (1)
Mar 11, 2-3 PM (0)
Mar 11, 3-4 PM (1)
Mar 11, 4-5 PM (0)
Mar 11, 5-6 PM (0)
Mar 11, 6-7 PM (0)
Mar 11, 7-8 PM (0)
Mar 11, 8-9 PM (1)
Mar 11, 9-10 PM (1)
Mar 11, 10-11 PM (0)
Mar 11, 11-12 AM (3)
Mar 12, 12-1 AM (2)
Mar 12, 1-2 AM (1)
Mar 12, 2-3 AM (0)
Mar 12, 3-4 AM (1)
Mar 12, 4-5 AM (1)
Mar 12, 5-6 AM (0)
Mar 12, 6-7 AM (0)
Mar 12, 7-8 AM (0)
Mar 12, 8-9 AM (0)
Mar 12, 9-10 AM (0)
Mar 12, 10-11 AM (0)
Mar 12, 11-12 PM (0)
Mar 12, 12-1 PM (0)
Mar 12, 1-2 PM (4)
Mar 12, 2-3 PM (1)
Mar 12, 3-4 PM (0)
Mar 12, 4-5 PM (0)
Mar 12, 5-6 PM (0)
Mar 12, 6-7 PM (0)
Mar 12, 7-8 PM (0)
Mar 12, 8-9 PM (0)
Mar 12, 9-10 PM (0)
Mar 12, 10-11 PM (0)
Mar 12, 11-12 AM (0)
Mar 13, 12-1 AM (0)
Mar 13, 1-2 AM (2)
Mar 13, 2-3 AM (0)
Mar 13, 3-4 AM (0)
Mar 13, 4-5 AM (0)
Mar 13, 5-6 AM (0)
Mar 13, 6-7 AM (1)
Mar 13, 7-8 AM (0)
Mar 13, 8-9 AM (0)
Mar 13, 9-10 AM (1)
Mar 13, 10-11 AM (1)
Mar 13, 11-12 PM (1)
Mar 13, 12-1 PM (2)
Mar 13, 1-2 PM (1)
Mar 13, 2-3 PM (1)
Mar 13, 3-4 PM (0)
Mar 13, 4-5 PM (0)
Mar 13, 5-6 PM (0)
Mar 13, 6-7 PM (0)
Mar 13, 7-8 PM (1)
Mar 13, 8-9 PM (0)
Mar 13, 9-10 PM (0)
Mar 13, 10-11 PM (1)
Mar 13, 11-12 AM (1)
Mar 14, 12-1 AM (0)
Mar 14, 1-2 AM (0)
Mar 14, 2-3 AM (0)
Mar 14, 3-4 AM (0)
Mar 14, 4-5 AM (0)
Mar 14, 5-6 AM (0)
Mar 14, 6-7 AM (0)
Mar 14, 7-8 AM (0)
Mar 14, 8-9 AM (0)
Mar 14, 9-10 AM (0)
Mar 14, 10-11 AM (0)
Mar 14, 11-12 PM (0)
Mar 14, 12-1 PM (0)
Mar 14, 1-2 PM (0)
Mar 14, 2-3 PM (0)
Mar 14, 3-4 PM (0)
Mar 14, 4-5 PM (0)
Mar 14, 5-6 PM (0)
Mar 14, 6-7 PM (0)
Mar 14, 7-8 PM (0)
Mar 14, 8-9 PM (0)
Mar 14, 9-10 PM (0)
Mar 14, 10-11 PM (0)
Mar 14, 11-12 AM (0)
Mar 15, 12-1 AM (0)
Mar 15, 1-2 AM (0)
Mar 15, 2-3 AM (0)
Mar 15, 3-4 AM (0)
Mar 15, 4-5 AM (0)
Mar 15, 5-6 AM (0)
Mar 15, 6-7 AM (0)
Mar 15, 7-8 AM (0)
Mar 15, 8-9 AM (0)
Mar 15, 9-10 AM (0)
Mar 15, 10-11 AM (0)
Mar 15, 11-12 PM (0)
Mar 15, 12-1 PM (0)
Mar 15, 1-2 PM (0)
Mar 15, 2-3 PM (0)
Mar 15, 3-4 PM (0)
Mar 15, 4-5 PM (0)
Mar 15, 5-6 PM (0)
Mar 15, 6-7 PM (0)
Mar 15, 7-8 PM (0)
Mar 15, 8-9 PM (0)
Mar 15, 9-10 PM (0)
Mar 15, 10-11 PM (0)
Mar 15, 11-12 AM (1)
Mar 16, 12-1 AM (0)
Mar 16, 1-2 AM (0)
Mar 16, 2-3 AM (0)
Mar 16, 3-4 AM (0)
Mar 16, 4-5 AM (0)
Mar 16, 5-6 AM (0)
Mar 16, 6-7 AM (0)
Mar 16, 7-8 AM (0)
Mar 16, 8-9 AM (0)
Mar 16, 9-10 AM (1)
Mar 16, 10-11 AM (0)
Mar 16, 11-12 PM (1)
Mar 16, 12-1 PM (1)
Mar 16, 1-2 PM (4)
Mar 16, 2-3 PM (4)
Mar 16, 3-4 PM (2)
Mar 16, 4-5 PM (2)
Mar 16, 5-6 PM (1)
Mar 16, 6-7 PM (3)
Mar 16, 7-8 PM (0)
Mar 16, 8-9 PM (1)
Mar 16, 9-10 PM (1)
Mar 16, 10-11 PM (0)
Mar 16, 11-12 AM (1)
Mar 17, 12-1 AM (0)
Mar 17, 1-2 AM (3)
Mar 17, 2-3 AM (0)
Mar 17, 3-4 AM (1)
Mar 17, 4-5 AM (1)
Mar 17, 5-6 AM (0)
Mar 17, 6-7 AM (0)
Mar 17, 7-8 AM (0)
Mar 17, 8-9 AM (2)
Mar 17, 9-10 AM (1)
Mar 17, 10-11 AM (2)
Mar 17, 11-12 PM (0)
Mar 17, 12-1 PM (1)
Mar 17, 1-2 PM (3)
Mar 17, 2-3 PM (2)
Mar 17, 3-4 PM (3)
Mar 17, 4-5 PM (1)
Mar 17, 5-6 PM (1)
Mar 17, 6-7 PM (1)
Mar 17, 7-8 PM (0)
95 commits this week Mar 10, 2026 - Mar 17, 2026
Add Flat instance roundtrip tests, remove dead [Char] instance
Mutation testing on the hand-written Flat instances from #7542 found
9 coverage gaps (none on the on-chain path). Add roundtrip tests for
Tree, Set, PreAligned, PIR Program, SrcSpan, SrcSpans, and
NamedDeBruijn. Remove the dead OVERLAPPING Flat [Char] instance from
Extra.hs — the module was never imported by the umbrella module, so
GHC always resolved Flat String to the generic [a] instance.
Remove Generic-based Flat derivation machinery (#7542)
The internal flat library contained Generic-based Flat class derivation
via GHC.Generics that had a bug: deserializing large enum types (512+
constructors) consumed infinite memory. While not a security risk (UPLC
on-chain code uses only manual Flat instances), the buggy dead code was
distracting. This commit removes the entire Generic derivation machinery.

Changes:

1. Add manual Flat instances to all types that previously relied on
   Generic defaults: Maybe, Either, Complex, [], NonEmpty, tuples (2-7),
   Tree, Filler, PostAligned, PreAligned, SrcSpan, SrcSpans, and all PIR
   types (Recursivity, Strictness, Datatype, Binding, Program, Term).
   Manual encoding is bit-identical to the Generic encoding.

2. Add missing `size` methods to partial Flat instances in
   FlatInstances.hs (Name, Version, VarDecl, TyVarDecl, Program,
   NamedDeBruijn) and Value.hs (K, Quantity, Value) that previously
   relied on the Generic default for `size`.

3. Gut Class.hs: remove ~440 lines of GFlat*/GEncode*/GSize* classes,
   NumConstructors type family, all Generic default method implementations,
   and associated imports/pragmas/re-exports.

4. Remove ENUM_LARGE test infrastructure (E256/E258 types, Flat/Arbitrary
   instances, ~530 lines) and delete Core.hs inspection tests.

5. Fix transitive import breakage: files that got Generic from the
   PlutusCore.Flat re-export now import GHC.Generics directly.
   Remove `hiding (to)` from imports that no longer re-export Generics.

6. Strip Generic-specific doctests from Tutorial.hs.

All existing tests pass (5281 across 4 suites). Manual instances produce
bit-identical encoding verified by round-trip tests and golden files.