> Yes.  Here is an example of one of the main ways I intended
> categories to be used in practice.
> 
> sage: C = VectorSpaces(GF(5))
> sage: W = (ZZ^3).span([[1,2,3],[4,5,3]])
> sage: C
> Category of vector spaces over Finite Field of size 5
> sage: C(W)
> Vector space of degree 3 and dimension 2 over Finite Field of size 5
> Basis matrix:
> [1 0 2]
> [0 1 3]

Wow. That's pretty orthogonal to my own goals. But this also means my
changes should not break much this part.

> As you can see, categories are to parents like parents
> are to elements...

Very much like in MuPAD. And somehow that's the part I don't like in
MuPAD. We often wanted to have parents which would simultaneously be
also elements (e.g. consider a monoid whose elements would themselves
be monoids, using cartesian product as multiplication).  Being forced
to put parents of parent-element at a different level makes it harder
to share code (here, between 1st level and 2nd level monoids). And
what about monoids of monoids of monoids?

I think the parent approach has really something to say here. And
still can be combined with the category approach to have the best of
both worlds. I'll try to rant about this in the doc of my prototype
rather than on the mailing list. Otherwise I'll never have the time to
write the doc ...

> You will probably break some code, but that's ok if you fix it.

Any suggestions for which tests to run most to detect such bugs?

> But it will be very good to have some new work on this stuff!!

:-)

Hmm, way time to go to bed now ...

                                        Nicolas
--
Nicolas M. ThiƩry "Isil" <[EMAIL PROTECTED]>
http://Nicolas.Thiery.name/

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to