I spotted this on ncatlab
Proposition 4.1. For F:CβD a π±-enriched functor between small π±-enriched categories we have
- the left Kan extension along F takes representable presheaves C(c,β):Cβπ± to their image under F:
Lan FC(c,β)βD(F(c),β)
for all c β C.
An in Haskell this translates (roughly) to a Representableinstance for Lan:
instance (Functor f, Representable g) => Distributive (Lan f g) where
distribute :: Functor h => h (Lan f g a) -> Lan f g (h a)
distribute = distributeRep
instance (Functor f, Representable g) => Representable (Lan f g) where
type Rep (Lan f g) = f (Rep g)
index :: Lan f g a -> (f (Rep g) -> a)
index (Lan f g) = f . fmap (index g)
tabulate :: (f (Rep g) -> a) -> Lan f g a
tabulate = (`Lan` tabulate id)
I noticed it was missing from the library.
I spotted this on ncatlab
An in Haskell this translates (roughly) to a
Representableinstance forLan:I noticed it was missing from the library.