Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Synopsis
- data Environment (p :: Type -> Type -> Type) a b where
- Environment :: forall (p :: Type -> Type -> Type) a b z y x. ((z -> y) -> b) -> p x y -> (a -> z -> x) -> Environment p a b
- type ClosedA p = Free (Environment p)
- liftClosed :: p a b -> ClosedA p a b
- foldClosed :: Category q => Closed q => (p :-> q) -> ClosedA p a b -> q a b
- runClosedT :: Closed q => (p :-> q) -> Environment p a b -> q a b
- runClosedW :: Comonad w => (forall x y. p x y -> w x -> y) -> ClosedA p a b -> w a -> b
Documentation
data Environment (p :: Type -> Type -> Type) a b where #
Environment :: forall (p :: Type -> Type -> Type) a b z y x. ((z -> y) -> b) -> p x y -> (a -> z -> x) -> Environment p a b |
Instances
type ClosedA p = Free (Environment p) Source #
liftClosed :: p a b -> ClosedA p a b Source #
TODO: Document
runClosedT :: Closed q => (p :-> q) -> Environment p a b -> q a b Source #
TODO: Document
runClosedW :: Comonad w => (forall x y. p x y -> w x -> y) -> ClosedA p a b -> w a -> b Source #
TODO: Document