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. 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.
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.
2) Up to minor details AbelianMonoidRing is in fact a specialization of
MonoidRingCategory, i.e. AbelianMonoidRing could inherit from
MonoidRingCategory.
**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.
Ralf
--
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.