| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Control.Comonad.Travel
Contents
Description
Implementation of "Directed Containers as Categories," D. Ahman and T. Uustalu, EPTCS 207, 2016, pp. 89-98
Travel: Comonad from a Category
data Travel (cat :: k -> k -> Type) r where Source #
Make Polynomial Comonad from Category.
Travel cat is a polynomial functor for any type constructor
cat.
Travel cat r ~ ∑a. ((∑b. cat a b) -> r)
Travel cat is a Comonad if cat is a Category.
Constructors
| MkTravel :: forall k (cat :: k -> k -> Type) r (a :: k). Sing a -> (Sigma k (TyCon (cat a)) -> r) -> Travel cat r |
data TravelTag (cat :: k -> k -> Type) x where Source #
Constructors
| TravelFrom :: forall k (cat :: k -> k -> Type) (a :: k). Sing a -> TravelTag cat (Sigma k (TyCon (cat a))) |