hset-2.2.0: Primitive list with elements of unique types.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.HSet.Type

Synopsis

Documentation

data HSet (elems :: [*]) where Source #

Heterogeneous set (list of elements) with unique types. Useful with MonadReader.

Constructors

HSNil :: HSet '[] 
HSCons :: NotElem elem elems => !elem -> HSet elems -> HSet (elem ': elems) 

Instances

Instances details
(Show e, Show (HSet els)) => Show (HSet (e ': els)) Source # 
Instance details

Defined in Data.HSet.Type

Methods

showsPrec :: Int -> HSet (e ': els) -> ShowS #

show :: HSet (e ': els) -> String #

showList :: [HSet (e ': els)] -> ShowS #

Show (HSet ('[] :: [Type])) Source # 
Instance details

Defined in Data.HSet.Type

Methods

showsPrec :: Int -> HSet '[] -> ShowS #

show :: HSet '[] -> String #

showList :: [HSet '[]] -> ShowS #

(NFData e, NFData (HSet els)) => NFData (HSet (e ': els)) Source # 
Instance details

Defined in Data.HSet.Type

Methods

rnf :: HSet (e ': els) -> () #

NFData (HSet ('[] :: [Type])) Source # 
Instance details

Defined in Data.HSet.Type

Methods

rnf :: HSet '[] -> () #

(Eq e, Eq (HSet els)) => Eq (HSet (e ': els)) Source # 
Instance details

Defined in Data.HSet.Type

Methods

(==) :: HSet (e ': els) -> HSet (e ': els) -> Bool #

(/=) :: HSet (e ': els) -> HSet (e ': els) -> Bool #

Eq (HSet ('[] :: [Type])) Source # 
Instance details

Defined in Data.HSet.Type

Methods

(==) :: HSet '[] -> HSet '[] -> Bool #

(/=) :: HSet '[] -> HSet '[] -> Bool #

(Ord e, Ord (HSet els)) => Ord (HSet (e ': els)) Source # 
Instance details

Defined in Data.HSet.Type

Methods

compare :: HSet (e ': els) -> HSet (e ': els) -> Ordering #

(<) :: HSet (e ': els) -> HSet (e ': els) -> Bool #

(<=) :: HSet (e ': els) -> HSet (e ': els) -> Bool #

(>) :: HSet (e ': els) -> HSet (e ': els) -> Bool #

(>=) :: HSet (e ': els) -> HSet (e ': els) -> Bool #

max :: HSet (e ': els) -> HSet (e ': els) -> HSet (e ': els) #

min :: HSet (e ': els) -> HSet (e ': els) -> HSet (e ': els) #

Ord (HSet ('[] :: [Type])) Source # 
Instance details

Defined in Data.HSet.Type

Methods

compare :: HSet '[] -> HSet '[] -> Ordering #

(<) :: HSet '[] -> HSet '[] -> Bool #

(<=) :: HSet '[] -> HSet '[] -> Bool #

(>) :: HSet '[] -> HSet '[] -> Bool #

(>=) :: HSet '[] -> HSet '[] -> Bool #

max :: HSet '[] -> HSet '[] -> HSet '[] #

min :: HSet '[] -> HSet '[] -> HSet '[] #