ekmett / kan-extensions

Kan extensions, Kan lifts, the Yoneda lemma, and (co)monads generated by a functor
Other
79 stars 33 forks source link

Add: Ran f (Codensity g) ~> Ran (Compose f g) g #43

Open Icelandjack opened 7 years ago

Icelandjack commented 7 years ago

Useful?

composeRan' :: forall compose f g a. Composition compose => Ran f (Codensity g) a -> Ran (compose f g) g a
composeRan' = coerce (composeRan @compose @f @g @g @a)

decomposeRan' :: forall compose f g a. (Composition compose, Functor f) => Ran (compose f g) g a -> Ran f (Codensity g) a
decomposeRan' = coerce (decomposeRan @compose @f @g @g @a)