| Safe Haskell | None |
|---|---|
| Language | GHC2024 |
Free.Agent.Layer
Contents
Description
Synopsis
- runFreeAgent :: Category arr => FreeAgent arr a b -> arr a b
- bindFreeAgent :: forall arr' (arr :: Type -> Type -> Type) a b. Category arr' => (arr :~> arr') -> FreeAgent arr a b -> arr' a b
Documentation
runFreeAgent :: Category arr => FreeAgent arr a b -> arr a b Source #
Fold a free agent term back into its base category.
bindFreeAgent :: forall arr' (arr :: Type -> Type -> Type) a b. Category arr' => (arr :~> arr') -> FreeAgent arr a b -> arr' a b Source #
Fold a free agent term into any target category.
Orphan instances
| Layer (FreeAgent :: (Type -> Type -> Type) -> Type -> Type -> Type) Source # |
| ||||||||||||
Associated Types
Methods unit :: forall (arr :: Type -> Type -> Type). Category arr => arr :~> FreeAgent arr # run :: (Run (FreeAgent :: (Type -> Type -> Type) -> Type -> Type -> Type) arr, Law (FreeAgent :: (Type -> Type -> Type) -> Type -> Type -> Type) arr, Bind (FreeAgent :: (Type -> Type -> Type) -> Type -> Type -> Type) arr) => FreeAgent arr a b -> arr a b # bind :: forall arr' (arr :: Cat2) a b. (Law (FreeAgent :: (Type -> Type -> Type) -> Type -> Type -> Type) arr', Bind (FreeAgent :: (Type -> Type -> Type) -> Type -> Type -> Type) arr) => (arr :~> arr') -> FreeAgent arr a b -> arr' a b # | |||||||||||||