Copyright | (c) 2025 Sayo contributors |
---|---|
License | MPL-2.0 (see the file LICENSE) |
Maintainer | ymdfield@outlook.jp |
Safe Haskell | Safe-Inferred |
Language | GHC2021 |
Control.Effect.Interpret
Description
Documentation
interpret :: forall e es ff a c. (KnownOrder e, Free c ff) => (e ~~> Eff ff es) -> Eff ff (e ': es) a -> Eff ff es a Source #
reinterpret :: forall e es es' ff a c. (Suffix es es', KnownOrder e, Free c ff) => (e ~~> Eff ff es') -> Eff ff (e ': es) a -> Eff ff es' a Source #
interprets :: forall es r ff a c. (KnownLength es, Free c ff) => (Union es ~~> Eff ff r) -> Eff ff (es ++ r) a -> Eff ff r a Source #
reinterprets :: forall es r r' ff a c. (Suffix r r', KnownLength es, Free c ff) => (Union es (Eff ff r') ~> Eff ff r') -> Eff ff (es ++ r) a -> Eff ff r' a Source #
interpose :: forall e es ff a c. (e :> es, Free c ff) => (e ~~> Eff ff es) -> Eff ff es a -> Eff ff es a Source #
interposeOn :: forall key e es ff a c. (Has key e es, Free c ff) => (e ~~> Eff ff es) -> Eff ff es a -> Eff ff es a Source #
interposeIn :: forall e es ff a c. (e `In` es, Free c ff) => (e ~~> Eff ff es) -> Eff ff es a -> Eff ff es a Source #
interposeFor :: forall e es ff a c. (KnownOrder e, Free c ff) => Membership e es -> (e ~~> Eff ff es) -> Eff ff es a -> Eff ff es a Source #
preinterpose :: forall e es ff a c. (e :> es, Free c ff) => (e ~~> Eff ff es) -> Eff ff es a -> Eff ff es a Source #
preinterposeOn :: forall key e es ff a c. (Has key e es, Free c ff) => (e ~~> Eff ff es) -> Eff ff es a -> Eff ff es a Source #
preinterposeIn :: forall e es ff a c. (e `In` es, Free c ff) => (e ~~> Eff ff es) -> Eff ff es a -> Eff ff es a Source #
preinterposeFor :: forall e es ff a c. (KnownOrder e, Free c ff) => Membership e es -> (e ~~> Eff ff es) -> Eff ff es a -> Eff ff es a Source #