§ Intuition for limits in category theory


§ A characterization of limits


The theorem that characterizes limits is this:
A category has Finite Limits iff it has all finite products and equalizers.
limits have maps out of them.

§ Ravi Vakil's intuition for limits: Take sub things.


§ Limits are things you get maps out of.



§ Limits in Haskell


{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE GADTs #-}
data Limit (f :: * -> *) where
  MkLimit :: (forall a. f a) -> Limit f

projectOut :: Limit f -> f a
projectOut (MkLimit fa)  = fa

data Colimit (f:: * -> *) where
  MkCoLimit :: f a -> Colimit f

projectIn :: f a -> Colimit f
projectIn = MkCoLimit