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

Safe HaskellNone
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 * Bounded h xs => Bounded ((:*) k h xs) Source # 

Methods

minBound :: (k :* h) xs #

maxBound :: (k :* h) xs #

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 * Semigroup h xs => Semigroup ((:*) k h xs) Source # 

Methods

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

sconcat :: NonEmpty ((k :* h) xs) -> (k :* h) xs #

stimes :: Integral b => b -> (k :* h) xs -> (k :* h) xs #

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 * Arbitrary h xs => Arbitrary ((:*) k h xs) Source # 

Methods

arbitrary :: Gen ((k :* h) xs) #

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

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

Methods

arbitrary :: Gen ((k :| h) xs) #

shrink :: (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 -> () #