[Haskell-cafe] Very freaky

Stefan O'Rear stefanor at cox.net
Thu Jul 12 14:34:37 EDT 2007

On Thu, Jul 12, 2007 at 07:19:07PM +0100, Andrew Coppin wrote:
> Alexis Hazell wrote:
>> On Thursday 12 July 2007 04:40, Andrew Coppin wrote:
>>> I once sat down and tried to read about Category Theory. I got almost
>>> nowhere though; I cannot for the life of my figure out how the
>>> definition of "category" is actually different from the definition of
>>> "set". Or how a "functor" is any different than a "function". Or...
>>> actually, none of it made sense.
>> "Set" is just one type of category; and the morphisms of the category 
>> "Set" are indeed functions. But morphisms in other categories need not be 
>> functions; in the category "Rel", for example, the morphisms are not 
>> functions but binary relations.
>> A "functor" is something that maps functions in one category to functions 
>> in another category. In other words, functors point from one or more 
>> functions in one category to the equivalent functions in another category. 
>> Perhaps they could be regarded as 'meta-functions'.
> I'm still puzzled as to what makes the other categories so magical that 
> they cannot be considered sets.
> I'm also a little puzzled that a binary relation isn't considered to be a 
> function...
> From the above, it seems that functors are in fact structure-preserving 
> mappings somewhat like the various morphisms found in group theory. (I 
> remember isomorphism and homomorphism, but there are really far too many 
> morphisms to remember!)

Many categories have more structure than just sets and functions.  For
instance, in the category of groups, arrows must be homomorphisms.

Some categories don't naturally correspond to sets - consider eg the
category of naturals, where there is a unique arrow from a to b iff a ≤

Binary relations are more general then functions, since they can be
partial and multiple-valued.

Yes, functors are very much arrow-like - indeed, it is possible to form
the "category of small categories" with functors for arrows.  ("Small"
means that there is a set of objects involved; eg Set is not small
because there is no set of all sets (see Russel's paradox) but Nat is

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20070712/bc6c0857/attachment.bin

More information about the Haskell-Cafe mailing list