§ 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 fprojectOut :: Limit f -> f aprojectOut (MkLimit fa)  = fadata Colimit (f:: * -> *) where  MkCoLimit :: f a -> Colimit fprojectIn :: f a -> Colimit fprojectIn = MkCoLimit