blob: 262522832a47f11b21b8299e4ff2f6b338b2016e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE QuantifiedConstraints #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE UndecidableInstances #-}
module T22216c where
import Prelude (Bool, Ordering)
class Eq a where
class Eq a => Ord a where
class (forall a. Eq a => Eq (f a)) => Eq1 f where
class (Eq1 f, forall a. Ord a => Ord (f a)) => Ord1 f where
liftCompare :: (a -> b -> Ordering) -> f a -> f b -> Ordering
instance Eq (T f a)
instance Ord (T f a)
instance Eq1 (T f)
newtype T f a = MkT (f a)
deriving Ord1
|