Documentation
hUnproxyLabel :: (HUpdateAtHNat n (LVPair l a) t l', HFind l ls n, RecordLabels t ls, HasField l t (Proxy a)) => l -> a -> Record t -> Record l'Source
hasNoProxies :: HasNoProxies r => Record r -> ()Source
data ProxyFound x Source
class HasNoProxies l Source
HasNoProxies HNil | |
HasNoProxies l => HasNoProxies (HCons e l) | |
Fail (ProxyFound x) => HasNoProxies (HCons (Proxy x) l) | |
Fail (ProxyFound x) => HasNoProxies (HCons (LVPair lab (Proxy x)) l) |
class LubNarrow a b c | a b -> c whereSource
(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) |
class RecordEquiv r1 r2 res | r1 r2 -> res whereSource
(NarrowM r1 r2 r12, NarrowM r2 r1 r21, RecordEquiv' (Record r1 -> r12) (Record r2 -> r21) res) => RecordEquiv r1 r2 res |
class RecordEquiv' pj1 pj2 res | pj1 pj2 -> res whereSource
RecordEquiv' (r1 -> HNothing) pj2 HNothing | |
RecordEquiv' (r1 -> HJust r2) (r2 -> HNothing) HNothing | |
RecordEquiv' (r1 -> HJust r2) (r2 -> HJust r1) (HJust (r1 -> r2, r2 -> r1)) |