On Sun, Feb 15, 2009 at 11:09 AM, Tillmann Rendel <rendel@cs.au.dk> wrote:
Gregg Reynolds wrote:
Came up with an alternative to the container metaphor for functors that you
might find amusing:  http://syntax.wikidot.com/blog:9

You seem to describe Bifunctors (two objects from one category are mapped to one object in another category), but Haskell's Functor class is about Endofunctors (one object in one category is mapped to an object in the same category). Therefore, your insistence on the alien

Yeah, it needs work, but close enough for a sketch.  BTW, I'm not talking about Haskell's Functor class, I guess I should have made that clear.  I'm talking about category theory, as the semantic framework for thinking about Haskell.
 
universe being totally different from our own is somewhat misleading, since in Haskell, we are specifically dealing with the case that the alien universe is just our own.

The idea is that each type (category) is a distinct universe.  The essential point about functors cross boundaries from one category to another.

Moreover, you are mixing in the subject of algebraic data types (all we know about (a, b) is that (,), fst and snd exist).

It's straight out of category theory.  See Pierce http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=7986
 
Personally, I do not see why one should explain something easy like functors in terms of something complicated like quantum entanglement.

The metaphor is action-at-a-distance.  Quantum entanglement is a vivid way of conveying it since it is so strange, but true.  Obviously one is not expected to understand quantum entanglement, only the idea of two things linked "invisibly" across a boundary.