hset-0.0.3: Primitive heterogenous read-only set

Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.HSet

Synopsis

Documentation

data HSet elems where Source

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

Constructors

HSNil :: HSet [] 
HSCons :: (False ~ Elem elem elems) => elem -> HSet elems -> HSet (elem : elems) 

class (i ~ Index e els) => HGet els e i where Source

Methods

hget :: HSet els -> e Source

Get any data from HSet for you

Instances

HGet ((:) * e els) e Z 
((~) Nat i (Index e els), (~) Nat (S i) (Index e ((:) * e1 els)), HGet els e i) => HGet ((:) * e1 els) e (S i) 

type Contains els e = HGet els e (Index e els) Source

hask :: (MonadReader (HSet els) m, Contains els e) => m e Source