Copyright | Copyright (c) Jordan Woehr 2018 |
---|---|
License | BSD |
Maintainer | Jordan Woehr |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Synopsis
- diversifyF :: forall r' x r. (ApplyRow x r .\/ ApplyRow x r') ≈ ApplyRow x (r .\/ r') => VarF r x -> VarF (r .\/ r') x
- trialF :: ((ApplyRow x r .- l) ≈ ApplyRow x (r .- l), KnownSymbol l) => VarF r x -> Label l -> Either (ApplyRow x r .! l) (VarF (r .- l) x)
- multiTrialF :: forall u v x. ((ApplyRow x v .\\ ApplyRow x u) ≈ ApplyRow x (v .\\ u), AllUniqueLabels (ApplyRow x u), Forall (ApplyRow x (v .\\ u)) Unconstrained1) => VarF v x -> Either (VarF u x) (VarF (v .\\ u) x)
- eraseF :: forall c r x b. Forall (ApplyRow x r) c => (forall a. c a => a -> b) -> VarF r x -> b
- eraseWithLabelsF :: forall c r x s b. (Forall (ApplyRow x r) c, IsString s) => (forall a. c a => a -> b) -> VarF r x -> (s, b)
- caseonF :: Switch (ApplyRow x v) r y => Rec r -> VarF v x -> y
- switchF :: Switch (ApplyRow x v) r y => VarF v x -> Rec r -> y
Documentation
diversifyF :: forall r' x r. (ApplyRow x r .\/ ApplyRow x r') ≈ ApplyRow x (r .\/ r') => VarF r x -> VarF (r .\/ r') x Source #
trialF :: ((ApplyRow x r .- l) ≈ ApplyRow x (r .- l), KnownSymbol l) => VarF r x -> Label l -> Either (ApplyRow x r .! l) (VarF (r .- l) x) Source #
multiTrialF :: forall u v x. ((ApplyRow x v .\\ ApplyRow x u) ≈ ApplyRow x (v .\\ u), AllUniqueLabels (ApplyRow x u), Forall (ApplyRow x (v .\\ u)) Unconstrained1) => VarF v x -> Either (VarF u x) (VarF (v .\\ u) x) Source #
Like multiTrial
but specialised for VarF
.
Since: 1.0.0
eraseF :: forall c r x b. Forall (ApplyRow x r) c => (forall a. c a => a -> b) -> VarF r x -> b Source #
eraseWithLabelsF :: forall c r x s b. (Forall (ApplyRow x r) c, IsString s) => (forall a. c a => a -> b) -> VarF r x -> (s, b) Source #
Like eraseWithLabels
but specialised for VarF
.
Since: 1.0.0