[Haskell-cafe] Intergalactic Telefunctors
Gregg Reynolds
dev at mobileink.com
Sun Feb 15 12:29:24 EST 2009
On Sun, Feb 15, 2009 at 11:09 AM, Tillmann Rendel <rendel at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090215/5a9507f4/attachment.htm
More information about the Haskell-Cafe
mailing list