What's the right category?
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