[Haskell-cafe] morphisms in IO

Derek Elkins derek.a.elkins at gmail.com
Sat Feb 7 16:33:35 EST 2009

On Thu, 2009-02-05 at 20:52 -0600, Gregg Reynolds wrote:
> I'm working on a radically different way of looking at IO.  Before I
> post it and make a fool of myself, I'd appreciate a reality check on
> the following points:
> a)  Can IO be thought of as a category?  I think the answer is yes.

No.  At least not in any reasonable way.

> b)  If it is a category, what are its morphisms?  I think the answer
> is: it has no morphisms.  The morphisms available are natural
> transformations or functors, and thus not /in/ the category.
> Alternatively: we have no means of directly naming its values, so the
> only way we can operate on its values is to use morphisms from the
> outside (operating on construction expressions qua morphisms.)


> c)  All categories with no morphisms ("bereft categories"?) are
> isomorphic (to each other).  I think yes.

No.  "Discrete" categories which you seem to be talking about are
isomorphic to sets (namely their set of objects).  Not all sets are

More information about the Haskell-Cafe mailing list