(Co)Yoneda reduction for free
(Co)Yoneda reduction
Yoneda lemmaの(co)endによる表現:
を、(co)Yoneda redunctionという(と思う)。
(Co)Yoneda reduction for free
Functor.(Co)Yoneda
上をHaskellで実装したのが、kan-extenstionsの
module Data.Functor.Contravariant.Yoneda newtype Yoneda f a = Yoneda { runYoneda :: forall r. (r -> a) -> f r }
module Data.Functor.Contravariant.Coyoneda data Coyoneda f a where Coyoneda :: (a -> b) -> f b -> Coyoneda f a
だと思われる。