extensible-0.4.2: Extensible, efficient, optics-friendly data types and effects

Safe HaskellSafe
LanguageHaskell2010

Data.Extensible.Dictionary

Contents

Synopsis

Documentation

library :: forall c xs. Forall c xs => Comp Dict c :* xs Source #

Reify a collection of dictionaries, as you wish.

type WrapForall c h = Forall (Instance1 c h) Source #

Forall upon a wrapper

class c (h x) => Instance1 c h x Source #

Composition for a class and a wrapper

Instances

c (h x) => Instance1 k k1 c h x Source # 

Orphan instances

WrapForall k * Eq h xs => Eq ((:*) k h xs) Source # 

Methods

(==) :: (k :* h) xs -> (k :* h) xs -> Bool #

(/=) :: (k :* h) xs -> (k :* h) xs -> Bool #

WrapForall k * Eq h xs => Eq ((:|) k h xs) Source # 

Methods

(==) :: (k :| h) xs -> (k :| h) xs -> Bool #

(/=) :: (k :| h) xs -> (k :| h) xs -> Bool #

(Eq ((:*) k h xs), WrapForall k * Ord h xs) => Ord ((:*) k h xs) Source # 

Methods

compare :: (k :* h) xs -> (k :* h) xs -> Ordering #

(<) :: (k :* h) xs -> (k :* h) xs -> Bool #

(<=) :: (k :* h) xs -> (k :* h) xs -> Bool #

(>) :: (k :* h) xs -> (k :* h) xs -> Bool #

(>=) :: (k :* h) xs -> (k :* h) xs -> Bool #

max :: (k :* h) xs -> (k :* h) xs -> (k :* h) xs #

min :: (k :* h) xs -> (k :* h) xs -> (k :* h) xs #

(Eq ((:|) k h xs), WrapForall k * Ord h xs) => Ord ((:|) k h xs) Source # 

Methods

compare :: (k :| h) xs -> (k :| h) xs -> Ordering #

(<) :: (k :| h) xs -> (k :| h) xs -> Bool #

(<=) :: (k :| h) xs -> (k :| h) xs -> Bool #

(>) :: (k :| h) xs -> (k :| h) xs -> Bool #

(>=) :: (k :| h) xs -> (k :| h) xs -> Bool #

max :: (k :| h) xs -> (k :| h) xs -> (k :| h) xs #

min :: (k :| h) xs -> (k :| h) xs -> (k :| h) xs #

WrapForall k * Show h xs => Show ((:*) k h xs) Source # 

Methods

showsPrec :: Int -> (k :* h) xs -> ShowS #

show :: (k :* h) xs -> String #

showList :: [(k :* h) xs] -> ShowS #

WrapForall k * Show h xs => Show ((:|) k h xs) Source # 

Methods

showsPrec :: Int -> (k :| h) xs -> ShowS #

show :: (k :| h) xs -> String #

showList :: [(k :| h) xs] -> ShowS #

WrapForall k * Monoid h xs => Monoid ((:*) k h xs) Source # 

Methods

mempty :: (k :* h) xs #

mappend :: (k :* h) xs -> (k :* h) xs -> (k :* h) xs #

mconcat :: [(k :* h) xs] -> (k :* h) xs #

WrapForall k * NFData h xs => NFData ((:*) k h xs) Source # 

Methods

rnf :: (k :* h) xs -> () #

WrapForall k * NFData h xs => NFData ((:|) k h xs) Source # 

Methods

rnf :: (k :| h) xs -> () #