HList-0.2: Heterogeneous listsSource codeContentsIndex
Data.HList.Record
Documentation
newtype LVPair l v Source
Constructors
LVPair
valueLVPair :: v
show/hide Instances
(UnionSymRec r1 r2' (Record ru), HasField l2 ru v2, HUpdateAtHNat n (LVPair l2 v2) ru ru, RecordLabels ru ls, HFind l2 ls n) => UnionSymRec' HTrue r1 (LVPair l2 v2) r2' (Record ru)
Eq v => Eq (LVPair l v)
(Typeable x, Typeable y) => Typeable (LVPair x y)
HRLabelSet (HCons (LVPair l v) r) => HExtend (LVPair l v) (Record r) (Record (HCons (LVPair l v) r))
(HLabelSet (HCons l ls), HSameLength ls vs) => HExtend (LVPair l v) (RecordP ls vs) (RecordP (HCons l ls) (HCons v vs))
labelLVPair :: LVPair l v -> lSource
newLVPair :: l -> v -> LVPair l vSource
newtype Record r Source
Constructors
Record r
show/hide Instances
(UnionSymRec r1 r2' (Record ru), HExtend f2 (Record ru) (Record (HCons f2 ru))) => UnionSymRec' HFalse r1 f2 r2' (Record (HCons f2 ru))
(UnionSymRec r1 r2' (Record ru), HasField l2 ru v2, HUpdateAtHNat n (LVPair l2 v2) ru ru, RecordLabels ru ls, HFind l2 ls n) => UnionSymRec' HTrue r1 (LVPair l2 v2) r2' (Record ru)
UnionSymRec r1 (Record HNil) r1
HLeftUnion r (Record HNil) r
HasField l r v => HasField l (Record r) v
Eq r => Eq (Record r)
ShowComponents r => Show (Record r)
Typeable x => Typeable (Record x)
(RecordLabels r' ls, H2ProjectByLabels ls r r' rout) => SubType (Record r) (Record r')
(RecordLabels r1 ls, HMember l ls b, UnionSymRec' b (Record r1) (LVPair l v) (Record r2') ru) => UnionSymRec (Record r1) (Record (HCons (LVPair l v) r2')) ru
(RecordLabels r ls, HMember l ls b, HLeftUnionBool b r (LVPair l v) r''', HLeftUnion (Record r''') (Record r') r'') => HLeftUnion (Record r) (Record (HCons (LVPair l v) r')) r''
(HRLabelSet r'', HAppend r r' r'') => HAppend (Record r) (Record r') (Record r'')
(RecordLabels a la, RecordLabels b lb, HTIntersect la lb lc, H2ProjectByLabels lc a c aout, H2ProjectByLabels lc b c bout, HRLabelSet c) => LubNarrow (Record a) (Record b) (Record c)
HRLabelSet (HCons (LVPair l v) r) => HExtend (LVPair l v) (Record r) (Record (HCons (LVPair l v) r))
mkRecord :: HRLabelSet r => r -> Record rSource
emptyRecord :: Record HNilSource
class HRLabelSet ps Source
show/hide Instances
HRLabelSet HNil
HRLabelSet (HCons x HNil)
(HEq l1 l2 leq, HRLabelSet' l1 v1 l2 v2 leq r) => HRLabelSet (HCons (LVPair l1 v1) (HCons (LVPair l2 v2) r))
class HRLabelSet' l1 v1 l2 v2 leq r Source
show/hide Instances
Fail (DuplicatedLabel l1) => HRLabelSet' l1 v1 l2 v2 HTrue r
(HRLabelSet (HCons (LVPair l2 v2) r), HRLabelSet (HCons (LVPair l1 v1) r)) => HRLabelSet' l1 v1 l2 v2 HFalse r
class HLabelSet ls Source
show/hide Instances
HLabelSet HNil
(HMember x ls xmem, HLabelSet' x ls xmem) => HLabelSet (HCons x ls)
class HLabelSet' x ls xmem Source
show/hide Instances
data DuplicatedLabel l Source
Constructors
DuplicatedLabel l
class RecordLabels r ls | r -> lsSource
show/hide Instances
recordLabels' :: RecordLabels r ls => r -> lsSource
recordLabels :: RecordLabels r ls => Record r -> lsSource
class RecordValues r ls | r -> ls whereSource
Methods
recordValues' :: r -> lsSource
show/hide Instances
recordValues :: RecordValues r vs => Record r -> vsSource
class ShowComponents l whereSource
Methods
showComponents :: String -> l -> StringSource
show/hide Instances
class ShowLabel l whereSource
Methods
showLabel :: l -> StringSource
show/hide Instances
Typeable x => ShowLabel (Proxy x)
Show n => ShowLabel (Label n)
(HNat x, Show desc) => ShowLabel (Label x ns desc)
(HNat x, Show desc) => ShowLabel (Label x ns desc)
class HasField l r v | l r -> v whereSource
Methods
hLookupByLabel :: l -> r -> vSource
show/hide Instances
HasField l r v => HasField l (Record r) v
(HEq l l' b, HasField' b l (HCons (LVPair l' v') r) v) => HasField l (HCons (LVPair l' v') r) v
(HEq l l' b, HasFieldP' b l (RecordP (HCons l' ls) vs) v) => HasField l (RecordP (HCons l' ls) vs) v
class HasField' b l r v | b l r -> v whereSource
Methods
hLookupByLabel' :: b -> l -> r -> vSource
show/hide Instances
HasField l r v => HasField' HFalse l (HCons fld r) v
HasField l r v => HasField' HFalse l (HCons fld r) v
HasField' HTrue l (HCons (LVPair l v) r) v
HasField' HTrue l (HCons (LVPair l v) r) v
hProjectByLabels :: (HRLabelSet a, H2ProjectByLabels ls t a b) => ls -> Record t -> Record aSource
class H2ProjectByLabels ls r rin rout | ls r -> rin rout whereSource
Methods
h2projectByLabels :: ls -> r -> (rin, rout)Source
show/hide Instances
class H2ProjectByLabels' b ls r rin rout | b ls r -> rin rout whereSource
Methods
h2projectByLabels' :: b -> ls -> r -> (rin, rout)Source
show/hide Instances
H2ProjectByLabels ls r' rin rout => H2ProjectByLabels' HNothing ls (HCons f' r') rin (HCons f' rout)
H2ProjectByLabels ls r' rin rout => H2ProjectByLabels' HNothing ls (HCons f' r') rin (HCons f' rout)
H2ProjectByLabels ls (RecordP ls' vs') rin (RecordP lo vo) => H2ProjectByLabels' HFalse ls (RecordP (HCons l' ls') (HCons v' vs')) rin (RecordP (HCons l' lo) (HCons v' vo))
H2ProjectByLabels ls (RecordP ls' vs') rin (RecordP lo vo) => H2ProjectByLabels' HFalse ls (RecordP (HCons l' ls') (HCons v' vs')) rin (RecordP (HCons l' lo) (HCons v' vo))
H2ProjectByLabels ls (RecordP ls' vs') (RecordP lin vin) rout => H2ProjectByLabels' HTrue ls (RecordP (HCons l' ls') (HCons v' vs')) (RecordP (HCons l' lin) (HCons v' vin)) rout
H2ProjectByLabels ls (RecordP ls' vs') (RecordP lin vin) rout => H2ProjectByLabels' HTrue ls (RecordP (HCons l' ls') (HCons v' vs')) (RecordP (HCons l' lin) (HCons v' vin)) rout
H2ProjectByLabels ls' r' rin rout => H2ProjectByLabels' (HJust ls') ls (HCons f' r') (HCons f' rin) rout
H2ProjectByLabels ls' r' rin rout => H2ProjectByLabels' (HJust ls') ls (HCons f' r') (HCons f' rin) rout
class HLeftUnion r r' r'' | r r' -> r'' whereSource
Methods
hLeftUnion :: r -> r' -> r''Source
show/hide Instances
HLeftUnion r (Record HNil) r
(RecordLabels r ls, HMember l ls b, HLeftUnionBool b r (LVPair l v) r''', HLeftUnion (Record r''') (Record r') r'') => HLeftUnion (Record r) (Record (HCons (LVPair l v) r')) r''
class HLeftUnionBool b r f r' | b r f -> r' whereSource
Methods
hLeftUnionBool :: b -> r -> f -> r'Source
show/hide Instances
class UnionSymRec r1 r2 ru | r1 r2 -> ru whereSource
Methods
unionSR :: r1 -> r2 -> (ru, ru)Source
show/hide Instances
UnionSymRec r1 (Record HNil) r1
(RecordLabels r1 ls, HMember l ls b, UnionSymRec' b (Record r1) (LVPair l v) (Record r2') ru) => UnionSymRec (Record r1) (Record (HCons (LVPair l v) r2')) ru
class UnionSymRec' b r1 f2 r2' ru | b r1 f2 r2' -> ru whereSource
Methods
unionSR' :: b -> r1 -> f2 -> r2' -> (ru, ru)Source
show/hide Instances
(UnionSymRec r1 r2' (Record ru), HExtend f2 (Record ru) (Record (HCons f2 ru))) => UnionSymRec' HFalse r1 f2 r2' (Record (HCons f2 ru))
(UnionSymRec r1 r2' (Record ru), HExtend f2 (Record ru) (Record (HCons f2 ru))) => UnionSymRec' HFalse r1 f2 r2' (Record (HCons f2 ru))
(UnionSymRec r1 r2' (Record ru), HasField l2 ru v2, HUpdateAtHNat n (LVPair l2 v2) ru ru, RecordLabels ru ls, HFind l2 ls n) => UnionSymRec' HTrue r1 (LVPair l2 v2) r2' (Record ru)
(UnionSymRec r1 r2' (Record ru), HasField l2 ru v2, HUpdateAtHNat n (LVPair l2 v2) ru ru, RecordLabels ru ls, HFind l2 ls n) => UnionSymRec' HTrue r1 (LVPair l2 v2) r2' (Record ru)
(UnionSymRec r1 r2' (Record ru), HasField l2 ru v2, HUpdateAtHNat n (LVPair l2 v2) ru ru, RecordLabels ru ls, HFind l2 ls n) => UnionSymRec' HTrue r1 (LVPair l2 v2) r2' (Record ru)
hRearrange :: (HLabelSet ls, HRearrange ls r r') => ls -> Record r -> Record r'Source
class HRearrange ls r r' | ls r -> r' whereSource
Methods
hRearrange2 :: ls -> r -> r'Source
show/hide Instances
class HRearrange' l ls rin rout r' | l ls rin rout -> r' whereSource
Methods
hRearrange2' :: l -> ls -> rin -> rout -> r'Source
show/hide Instances
Fail (FieldNotFound l) => HRearrange' l ls HNil rout (FieldNotFound l)
Fail (FieldNotFound l) => HRearrange' l ls HNil rout (FieldNotFound l)
HRearrange ls rout r' => HRearrange' l ls (HCons (LVPair l v) HNil) rout (HCons (LVPair l v) r')
data ExtraField l Source
Constructors
ExtraField
show/hide Instances
data FieldNotFound l Source
Constructors
FieldNotFound
show/hide Instances
Produced by Haddock version 2.4.2