What's the right category?

From: Andreas Slateff <slateff_at_netway.at>
Date: 2000/06/04
Message-ID: <01bfce70$a21c83e0$0100007f_at_andreass>#1/1


Hello,

first of all, sorry for the x-post.
I don't know, which NG whould be best for this question - I think, it isn't off-topic in any.

The basic background is, that in order to model some object-DBMS, I'd like to use monoid comprehensions like Leonid Fegaras (Texas).

Of course, given a convenient category C, the C-endofunctors together with the identity-functor and the functor composition form a monoidal category, where Monoids are called Monads.

Now, I'm a little bit confused about C in practical cases.

In some article about list comprehensions and monads, there is given some functor M, which takes integers into a list of integers, chars into a list of chars and so on.
So, the right category for C could be the category Sign of Signatures. But the objects of this category are signatures (that means, initial objects), not concrete instances.

With the unit natural OP

        unit: Id -'-> M
I have an example:

        unit_x: x -> Mx
this is clearly the object component of unit, but then

        unit 3 = [3]
where [3] is the list with the single entry 3.

Now, I don't know, where 3 comes from.
From the definition, 3 should be an object in C, that means a signature, not a value.
Or maybe, the example should rather read

        unit {3} = {[3]},
then C could be taken as the (small) category of Sets, and M converses every set into a set of a list of the old elements.

Now, in some other publications, M is an endofunctor on types, which totally confuses me (how should types be sets?).

For types, I would take a CCC of Signatures or ADTs, but I wonder, what the morphisms should be to include values and programs.

To put it in a nutshell, I don't know, how to combine
-) types
-) categories
-) monads
-) programs
-) values

in a convenient way.

Can anybody clarify the situation?
Is there any web-article about this?

Thnx

Andrew Received on Sun Jun 04 2000 - 00:00:00 CEST

Original text of this message