parameterized-utils-2.0.2: Classes and data structures for working with data-kind indexed types

Safe HaskellNone
LanguageHaskell98

Data.Parameterized.DataKind

Documentation

data PairRepr (f :: k1 -> *) (g :: k2 -> *) (p :: (k1, k2)) where Source #

Constructors

PairRepr :: f a -> g b -> PairRepr f g '(a, b) 
Instances
(TestEquality f, TestEquality g) => TestEquality (PairRepr f g :: (k1, k2) -> Type) Source # 
Instance details

Defined in Data.Parameterized.DataKind

Methods

testEquality :: PairRepr f g a -> PairRepr f g b -> Maybe (a :~: b) #

(ShowF f, ShowF g) => ShowF (PairRepr f g :: (k1, k2) -> Type) Source # 
Instance details

Defined in Data.Parameterized.DataKind

Methods

withShow :: p (PairRepr f g) -> q tp -> (Show (PairRepr f g tp) -> a) -> a Source #

showF :: PairRepr f g tp -> String Source #

showsPrecF :: Int -> PairRepr f g tp -> String -> String Source #

(OrdF f, OrdF g) => OrdF (PairRepr f g :: (k1, k2) -> Type) Source # 
Instance details

Defined in Data.Parameterized.DataKind

Methods

compareF :: PairRepr f g x -> PairRepr f g y -> OrderingF x y Source #

leqF :: PairRepr f g x -> PairRepr f g y -> Bool Source #

ltF :: PairRepr f g x -> PairRepr f g y -> Bool Source #

geqF :: PairRepr f g x -> PairRepr f g y -> Bool Source #

gtF :: PairRepr f g x -> PairRepr f g y -> Bool Source #

(Eq (f a), Eq (g b)) => Eq (PairRepr f g ((,) a b)) Source # 
Instance details

Defined in Data.Parameterized.DataKind

Methods

(==) :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> Bool #

(/=) :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> Bool #

(Ord (f a), Ord (g b)) => Ord (PairRepr f g ((,) a b)) Source # 
Instance details

Defined in Data.Parameterized.DataKind

Methods

compare :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> Ordering #

(<) :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> Bool #

(<=) :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> Bool #

(>) :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> Bool #

(>=) :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> Bool #

max :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> PairRepr f g (a, b) #

min :: PairRepr f g (a, b) -> PairRepr f g (a, b) -> PairRepr f g (a, b) #

(ShowF f, ShowF g) => Show (PairRepr f g p) Source # 
Instance details

Defined in Data.Parameterized.DataKind

Methods

showsPrec :: Int -> PairRepr f g p -> ShowS #

show :: PairRepr f g p -> String #

showList :: [PairRepr f g p] -> ShowS #

type family Fst (pair :: (k1, k2)) where ... Source #

Equations

Fst '(a, _) = a 

type family Snd (pair :: (k1, k2)) where ... Source #

Equations

Snd '(_, b) = b 

fst :: PairRepr f g p -> f (Fst p) Source #

snd :: PairRepr f g p -> g (Snd p) Source #