hset-2.2.0: Primitive list with elements of unique types.

Safe HaskellNone
LanguageHaskell2010

Data.HSet.Type

Synopsis

Documentation

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

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
(Eq e, Eq (HSet els)) => Eq (HSet (e ': els)) # 
Instance details

Defined in Data.HSet.Type

Methods

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

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

Eq (HSet ([] :: [*])) # 
Instance details

Defined in Data.HSet.Type

Methods

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

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

(Ord e, Ord (HSet els)) => Ord (HSet (e ': els)) # 
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 ([] :: [*])) # 
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 [] #

(Show e, Show (HSet els)) => Show (HSet (e ': els)) # 
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 ([] :: [*])) # 
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)) # 
Instance details

Defined in Data.HSet.Type

Methods

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

NFData (HSet ([] :: [*])) # 
Instance details

Defined in Data.HSet.Type

Methods

rnf :: HSet [] -> () #