On 03/16/2006 07:23 PM, Gabriel Dos Reis wrote:
"Bill Page" <[EMAIL PROTECTED]> writes:
| > In their approach to mimic Axiom, they avoid been careful in
| > making AbelianMonoid "derive" from Monoid.
|
| Yes, that is interesting - nice diagram. I wonder how much
| of that was actually implemented?
Good question.
No it is so simple. They actually suffer from the same problem that we
have with Axiom/Aldor. However, if you look at the code you find the
stuff below. It is simply that: Gauss-Monoid is written additively, and
Gauss-AbelianMonoid, too. We could do that in Axiom, too. So, no surprise.
BTW, if you look at Gauss-Ring, you find that the multiplicative
structure is not a derived from Gauss-Monoid.
Ralf
Monoid := proc() local M;
option `Copyright 1992 Wissenschaftliches Rechnen, ETH Zurich`;
M := SemiGroup(args);
if hasCategory(M,Monoid) then RETURN(op(M)) fi;
addCategory(M,Monoid);
defOperation( 0, M, M ); # the additive identity
addProperty( M, NormalForm ); # must be a unique constant
op(M)
end:
AbelianMonoid := proc() local M;
option `Copyright 1992 Wissenschaftliches Rechnen, ETH Zurich`;
M := Monoid(args);
addCategory(M,AbelianMonoid);
addProperty(M,Commutative(`+`));
op(M)
end:
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer