Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
shared types.
- data Apply a f where
- getApply :: Apply a f -> f a
- type AnAlgebra f a = f a -> a
- newtype Algebra f a = Algebra {
- getAlgebra :: AnAlgebra f a
- newtype OpAlgebra a f = OpAlgebra {
- getOpAlgebra :: AnAlgebra f a
- type ACoAlgebra f a = a -> f a
- newtype CoAlgebra f a = CoAlgebra {
- getCoAlgebra :: ACoAlgebra f a
- newtype OpCoAlgebra a f = OpCoAlgebra {
- getOpCoAlgebra :: ACoAlgebra f a
- type (:~>) f g = forall x. f x -> g x
- type ANaturalTransformation f g = (:~>) f g
- newtype NaturalTransformation f g = NaturalTransformation {
- getNaturalTransformation :: f :~> g
- newtype IdNaturalTransformation f = IdNaturalTransformation {
- getIdNaturalTransformation :: forall x. ACoAlgebra f x
- newtype OpNaturalTransformation g f = OpNaturalTransformation {
- getOpNaturalTransformation :: f :~> g
- newtype IdOpNaturalTransformation f = IdOpNaturalTransformation {
- getIdOpNaturalTransformation :: forall x. AnAlgebra f x
- type IsPairing f g = (Functor f, Functor g)
- data Pairing f g = Pairing {
- pair :: forall a b r. (a -> b -> r) -> f a -> g b -> r
Documentation
Apply a
is a type-level (
.$
a)
f
must be a Functor
.
Algebra | |
|
a co-algebra (with the two types in reverse order).
OpAlgebra | |
|
type ACoAlgebra f a = a -> f a Source
A co-algebra.
CoAlgebra | |
|
newtype OpCoAlgebra a f Source
a co-algebra (with the two types in reverse order).
OpCoAlgebra | |
|
type ANaturalTransformation f g = (:~>) f g Source
A natural transformation.
newtype NaturalTransformation f g Source
newtype IdNaturalTransformation f Source
~NaturalTransformation
Identity
IdNaturalTransformation | |
|
newtype OpNaturalTransformation g f Source
newtype IdOpNaturalTransformation f Source
~OpNaturalTransformation
Identity
IdOpNaturalTransformation | |
|