Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Inject values into accumulators.
General-purpose injector.
class Injects r_ (m :: Type -> Type) (accum :: Type) | accum -> m where Source #
Mirror image of Has
.
Can be useful with AccumConstructor
to register particular
monoidal values into a "wider" monoidal value which is accumulated accross
all components.
inject :: r_ m -> accum Source #
Given a value parameterized by the accumulator's effect monad m
,
produce an accumulator.
Instances
Monoid a => Injects r_ m (a, r_ m) Source # | |
Defined in Dep.Injects | |
Monoid b => Injects r_ m (r_ m, b) Source # | |
Defined in Dep.Injects | |
(Monoid a, Monoid b) => Injects r_ m (a, b, r_ m) Source # | |
Defined in Dep.Injects | |
(Monoid a, Monoid c) => Injects r_ m (a, r_ m, c) Source # | |
Defined in Dep.Injects | |
(Monoid b, Monoid c) => Injects r_ m (r_ m, b, c) Source # | |
Defined in Dep.Injects | |
(Monoid a, Monoid b, Monoid c) => Injects r_ m (a, b, c, r_ m) Source # | |
Defined in Dep.Injects | |
(Monoid a, Monoid b, Monoid d) => Injects r_ m (a, b, r_ m, d) Source # | |
Defined in Dep.Injects | |
(Monoid a, Monoid c, Monoid d) => Injects r_ m (a, r_ m, c, d) Source # | |
Defined in Dep.Injects | |
(Monoid b, Monoid c, Monoid d) => Injects r_ m (r_ m, b, c, d) Source # | |
Defined in Dep.Injects |
type family InjectsAll rs_ m e where ... Source #
Mirror image of HasAll
.
InjectsAll '[] m e = () | |
InjectsAll (r_ ': rs_) m e = (Injects r_ m e, InjectsAll rs_ m e) |