[Haskell-cafe] adjunction of product and exponentiation

Jason Dusek jason.dusek at gmail.com
Wed Aug 6 16:56:08 EDT 2008


  The problem as stated is to find the unit for the adjunction:

    ((- x A), (-)^A x A)

  The latter functor takes an arrow f to (f . -) x id_A and does
  the obvious thing for objects. The co-unit diagram is given
  as:

            B^A x A ---- eval_AB ----> B
               ^                       ^
               |                       |
               |                       |
         curry(g) x id_A               g : C x A -> B
               |                       |
               |                       |
               |                       |
             C x A --------------------+

  This diagram is somewhat puzzling, because it seems the second
  functor has turned into (-)^A ! Continuing in with that, we
  get a unit diagram like this:

               C ---- magic ----> (C x A)^A
               |                     |
               |                     |
               |                     |
            curry(g)              (g . -)
               |                     |
               |                     |
               |                     v
               +------------------> B^A

  So what is the magic? It is an arrow that takes a C to an
  arrow that takes an A and makes the product C x A. I want to
  write curry(C x A) but that is ridiculous looking. What's the
  right notation for this thing?

-- 
_jsn


More information about the Haskell-Cafe mailing list