On Tue, Jul 26, 2011 at 5:06 PM, Ralf Hemmecke <[email protected]> wrote: >> I think categories that take arguments such as >> >> AbelianMonoidRing(R:Ring,E:OrderedAbelianMonoid) >> >> are quite distinct from category constants such as >> >> Ring >> >> Category with arguments really are "constructors" and are (usually) >> functorial in nature. They do not stand for a single category but >> rather for all the categories that can be constructed given the domain >> of the arguments. > > That's your opinion.
The opinion part, i.e. that "I think it is not particularly confusing", you did not quote. The quote above is a fact, no? > But now imagine that somewhere you see "AbelianMonoidRing(S, M)". > Almost certainly you will believe that this thing inherits from Ring. But > as you see here > > https://github.com/hemmecke/fricas-svn/commit/05acabe826ad649aa6187afae84aec5e99e271b7#L2L35 > > now it doesn't anymore. Good luck for all those poor people that make > false assumptions just from the name of the constructor. > We are humans, not compilers. > Granted that it would be nice to have good (commonly used and/or intuitive) name. I am not quite sure what you mean by "inherit" in this context, but at least in one sense you are not correct when you say that AbelianMonoidRing does not inherit from Ring anymore. Specifically we have: 56 + if R has CancellationAbelianMonoid then CancellationAbelianMonoid 57 + if R has SemiRing then SemiRing 58 + if R has Ring then Ring This is a conditional export and is shown as such in Hyperdoc. Also in the interpreter AbelianMonoidRing(S, M) has Ring still behaves as desired. >> I think there is actually a much worse problem with these names since >> they are so close to the domain constructor "MonoidRing' and >> 'MonoidRingCategory' which are related but quite different. > > Thanks for pointing out MonoidRing. > > There are at least two problems. > 1) The category ends in "...Category" while for quite a lot of other > mathematical categories like Ring, Field, Group, AbelianMonoidRing, > it does not. > I quite like the convention that mathematical structures (i.e. FriCAS > categories) don't have "...Category" in their names. > Agreed. But in general I think it is inevitable that it will sometimes be awkward to name structures that are derived as abstractions of more familiar objects. > 2) Up to minor details AbelianMonoidRing is in fact a specialization of > MonoidRingCategory, i.e. AbelianMonoidRing could inherit from > MonoidRingCategory. Perhaps. But as mathematical abstractions I think these FriCAS categories remain quite different in intention. > > **Abelian**MonoidRing means that the underlying monoid is commutative. > That's rather restrictive for modelling non-commutative polynomials. But I > agree that it is a rather important special case that deserves its own > category. > Regards, Bill Page. -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/fricas-devel?hl=en.
