Copyright | (c) 2024-2025 Sayo contributors |
---|---|
License | MPL-2.0 (see the LICENSE file) |
Maintainer | ymdfield@outlook.jp |
Safe Haskell | None |
Language | GHC2021 |
Data.Effect.Log
Description
Interpreters for the co-log
ecosystem.
The interface is similar to co-log-polysemy
.
Documentation
data Log msg (a :: Type -> Type) b where Source #
Instances
FirstOrder (Log msg) Source # | |
Defined in Data.Effect.Log | |
PolyHFunctor (Log msg) Source # | |
Defined in Data.Effect.Log | |
HFunctor (Log msg) Source # | |
Defined in Data.Effect.Log | |
type FormOf (Log msg) Source # | |
Defined in Data.Effect.Log | |
type LabelOf (Log msg) Source # | |
Defined in Data.Effect.Log | |
type OrderOf (Log msg) Source # | |
Defined in Data.Effect.Log |
log :: forall msg f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Log msg :> es) => msg -> f () Source #
log' :: forall {k} (key :: k) msg f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Has key (Log msg) es) => msg -> f () Source #
log'' :: forall {k} (tag :: k) msg f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, Tagged tag (Log msg) :> es) => msg -> f () Source #
log'_ :: forall msg f (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Free c ff, f ~ Eff ff es, In (Log msg) es) => msg -> f () Source #
runLogAsOutput :: forall msg a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Output msg :> es, Free c ff) => Eff ff (Log msg ': es) a -> Eff ff es a Source #
runOutputAsLog :: forall msg a (es :: [Effect]) (ff :: (Type -> Type) -> Type -> Type) (c :: (Type -> Type) -> Constraint). (Log msg :> es, Free c ff) => Eff ff (Output msg ': es) a -> Eff ff es a Source #