Home / Input Output / plutus
Feb 19, 10-11 PM (0)
Feb 19, 11-12 AM (1)
Feb 20, 12-1 AM (0)
Feb 20, 1-2 AM (1)
Feb 20, 2-3 AM (0)
Feb 20, 3-4 AM (0)
Feb 20, 4-5 AM (2)
Feb 20, 5-6 AM (0)
Feb 20, 6-7 AM (0)
Feb 20, 7-8 AM (0)
Feb 20, 8-9 AM (18)
Feb 20, 9-10 AM (3)
Feb 20, 10-11 AM (0)
Feb 20, 11-12 PM (9)
Feb 20, 12-1 PM (3)
Feb 20, 1-2 PM (1)
Feb 20, 2-3 PM (1)
Feb 20, 3-4 PM (0)
Feb 20, 4-5 PM (1)
Feb 20, 5-6 PM (1)
Feb 20, 6-7 PM (3)
Feb 20, 7-8 PM (0)
Feb 20, 8-9 PM (2)
Feb 20, 9-10 PM (0)
Feb 20, 10-11 PM (3)
Feb 20, 11-12 AM (0)
Feb 21, 12-1 AM (1)
Feb 21, 1-2 AM (0)
Feb 21, 2-3 AM (0)
Feb 21, 3-4 AM (0)
Feb 21, 4-5 AM (0)
Feb 21, 5-6 AM (0)
Feb 21, 6-7 AM (1)
Feb 21, 7-8 AM (0)
Feb 21, 8-9 AM (0)
Feb 21, 9-10 AM (0)
Feb 21, 10-11 AM (0)
Feb 21, 11-12 PM (0)
Feb 21, 12-1 PM (0)
Feb 21, 1-2 PM (0)
Feb 21, 2-3 PM (0)
Feb 21, 3-4 PM (0)
Feb 21, 4-5 PM (1)
Feb 21, 5-6 PM (0)
Feb 21, 6-7 PM (0)
Feb 21, 7-8 PM (0)
Feb 21, 8-9 PM (0)
Feb 21, 9-10 PM (0)
Feb 21, 10-11 PM (0)
Feb 21, 11-12 AM (0)
Feb 22, 12-1 AM (0)
Feb 22, 1-2 AM (2)
Feb 22, 2-3 AM (0)
Feb 22, 3-4 AM (0)
Feb 22, 4-5 AM (0)
Feb 22, 5-6 AM (0)
Feb 22, 6-7 AM (0)
Feb 22, 7-8 AM (0)
Feb 22, 8-9 AM (0)
Feb 22, 9-10 AM (0)
Feb 22, 10-11 AM (0)
Feb 22, 11-12 PM (0)
Feb 22, 12-1 PM (0)
Feb 22, 1-2 PM (0)
Feb 22, 2-3 PM (1)
Feb 22, 3-4 PM (0)
Feb 22, 4-5 PM (1)
Feb 22, 5-6 PM (1)
Feb 22, 6-7 PM (3)
Feb 22, 7-8 PM (1)
Feb 22, 8-9 PM (0)
Feb 22, 9-10 PM (2)
Feb 22, 10-11 PM (1)
Feb 22, 11-12 AM (0)
Feb 23, 12-1 AM (0)
Feb 23, 1-2 AM (0)
Feb 23, 2-3 AM (0)
Feb 23, 3-4 AM (1)
Feb 23, 4-5 AM (0)
Feb 23, 5-6 AM (0)
Feb 23, 6-7 AM (0)
Feb 23, 7-8 AM (0)
Feb 23, 8-9 AM (0)
Feb 23, 9-10 AM (12)
Feb 23, 10-11 AM (0)
Feb 23, 11-12 PM (0)
Feb 23, 12-1 PM (0)
Feb 23, 1-2 PM (0)
Feb 23, 2-3 PM (1)
Feb 23, 3-4 PM (1)
Feb 23, 4-5 PM (1)
Feb 23, 5-6 PM (0)
Feb 23, 6-7 PM (0)
Feb 23, 7-8 PM (0)
Feb 23, 8-9 PM (0)
Feb 23, 9-10 PM (1)
Feb 23, 10-11 PM (0)
Feb 23, 11-12 AM (1)
Feb 24, 12-1 AM (0)
Feb 24, 1-2 AM (1)
Feb 24, 2-3 AM (0)
Feb 24, 3-4 AM (1)
Feb 24, 4-5 AM (0)
Feb 24, 5-6 AM (0)
Feb 24, 6-7 AM (1)
Feb 24, 7-8 AM (1)
Feb 24, 8-9 AM (0)
Feb 24, 9-10 AM (0)
Feb 24, 10-11 AM (0)
Feb 24, 11-12 PM (4)
Feb 24, 12-1 PM (0)
Feb 24, 1-2 PM (7)
Feb 24, 2-3 PM (0)
Feb 24, 3-4 PM (0)
Feb 24, 4-5 PM (2)
Feb 24, 5-6 PM (3)
Feb 24, 6-7 PM (2)
Feb 24, 7-8 PM (1)
Feb 24, 8-9 PM (2)
Feb 24, 9-10 PM (2)
Feb 24, 10-11 PM (1)
Feb 24, 11-12 AM (0)
Feb 25, 12-1 AM (0)
Feb 25, 1-2 AM (0)
Feb 25, 2-3 AM (0)
Feb 25, 3-4 AM (0)
Feb 25, 4-5 AM (0)
Feb 25, 5-6 AM (0)
Feb 25, 6-7 AM (0)
Feb 25, 7-8 AM (0)
Feb 25, 8-9 AM (0)
Feb 25, 9-10 AM (1)
Feb 25, 10-11 AM (0)
Feb 25, 11-12 PM (0)
Feb 25, 12-1 PM (0)
Feb 25, 1-2 PM (3)
Feb 25, 2-3 PM (2)
Feb 25, 3-4 PM (1)
Feb 25, 4-5 PM (1)
Feb 25, 5-6 PM (2)
Feb 25, 6-7 PM (1)
Feb 25, 7-8 PM (4)
Feb 25, 8-9 PM (1)
Feb 25, 9-10 PM (0)
Feb 25, 10-11 PM (0)
Feb 25, 11-12 AM (1)
Feb 26, 12-1 AM (1)
Feb 26, 1-2 AM (1)
Feb 26, 2-3 AM (0)
Feb 26, 3-4 AM (0)
Feb 26, 4-5 AM (0)
Feb 26, 5-6 AM (0)
Feb 26, 6-7 AM (0)
Feb 26, 7-8 AM (0)
Feb 26, 8-9 AM (4)
Feb 26, 9-10 AM (1)
Feb 26, 10-11 AM (2)
Feb 26, 11-12 PM (0)
Feb 26, 12-1 PM (6)
Feb 26, 1-2 PM (1)
Feb 26, 2-3 PM (1)
Feb 26, 3-4 PM (3)
Feb 26, 4-5 PM (1)
Feb 26, 5-6 PM (4)
Feb 26, 6-7 PM (3)
Feb 26, 7-8 PM (1)
Feb 26, 8-9 PM (1)
Feb 26, 9-10 PM (0)
Feb 26, 10-11 PM (0)
157 commits this week Feb 19, 2026 - Feb 26, 2026
Add deriveOrd for Plinth similar to deriving stock Ord (#7580)
* Implements PlutusTx.deriveOrd

Add deriveOrd tests

Make deriving Ord phantom types work

Fixes

* test(plutus-tx): add golden tests for deriveOrd

Add MyNewtype, SomeLargeADT, Tree, and These golden tests to match
deriveEq coverage. Add unit tests for new types including newtype,
large ADT, and recursive tree comparisons.

* test(plutus-ledger-api): add golden tests for deriveOrd

Add Spec.Ord.Golden module with golden tests for V1.Extended and
V3.ProtocolVersion types that use deriveOrd. Wire into test suite.

* docs(plutus-ledger-api): add changelog entry for deriveOrd

* refactor(plutus-tx): optimize deriveOrd cross-constructor clause generation

Use wildcard patterns for cross-constructor comparisons instead of
generating explicit clauses for every pair. This reduces generated
clauses from O(n^2) to O(n) for types with n constructors.

* fix: resolve build failures in nix hydra CI

Remove unused import of PlutusTx.Either from Ord.Class, prefix
unused record fields with underscore in test ADT to satisfy
-Werror, and disable plutus-ledger-api-test on Windows where
the diff command is unavailable for golden tests.

* style(plutus-tx): clean up Ord.Class formatting and HLint suppressions

Apply fourmolu formatting to Ord.Class module header and imports.
Add HLint suppressions for deliberately inefficient max/min/compare
implementations that match GHC's default definitions for consistency.

* fix(plutus-tx): import Eq instances in Ord module

Add missing import of PlutusTx.Eq to bring Eq instances into scope,
which are required as superclass constraints for deriveOrd.

This fixes build failures where deriveOrd couldn't deduce Eq instances
for types like [], Bool, Maybe, etc.

Fixes Hydra CI build failures on both darwin and linux platforms.

* chore: retrigger CI for darwin builds

* test: regenerate deriveOrd golden files after rebase onto master

* fix: use thenCmp instead of (<>) for GHC 9.12 compatibility

GHC 9.12 resolves TH-quoted '(<>) to GHC.Internal.Base.<> instead of
GHC.Base.<>, causing golden test mismatches across GHC versions. Replace
with a named thenCmp helper in PlutusTx.Ord.Class for stable output.

Also replace HS.tail with HS.drop 1 in tests to fix -Wx-partial error
on GHC 9.12.

* test: regenerate nofib benchmark goldens after thenCmp change

The switch from (<>) to thenCmp in deriveOrd-generated code changes
the compiled PIR/UPLC output for clausify and knights benchmarks.

---------

Co-authored-by: Nikolaos Bezirgiannis <[email protected]>