Note that the intent of these SAGE constructors is not (just) to replicate the design (and errors) of Magma or other languages. There are natural product and coproduct constructions in various mathematical categories (e.g. a coproduct in Sets _is_ the union). The constructor CartesianProduct should be the product in the category of Sets (although you give an example which the sets are also rings). However this identification does not conflict with its role in enumeration in loops (over enumerable sets). A categorical perspective should aid in the design of efficient and useful structures for mathematics and computation, many of which could map to natural constructions in various languages. The Coproduct in Sets equals the Union, as you indicate.
Similarly there should also be a product and coproduct constructor, for example, in the category of commutative rings, which are different objects. "Should be" means when someone finds the need and time to implement such structures. Record appears not to fit in a (mathematical) category framework, but an equivalent functionality may be provided by some existing Python structure. David --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---