Ralf Hemmecke <[EMAIL PROTECTED]> writes: > Hi Martin, > > a quick response to the following... > > > There is a simple practical reason why I dislike the idea of asking just > > "Integer has Monoid". > > Imagine I'm programming a package, and I need that a parameter domain M is a > > monoid, so that I can use the monoidal structure, for example for > > multiplying. Well, then simply asking M has Monoid doesn't buy me anything, > > since I won't be sure that M really is a Monoid with respect to "+". > > Imagine you could ask "if M has Monoid(+)..." or "if M has > Monoid(*)...". According to which returns true, you would then go on and call > (m1 +$M m2) or (m1 *$M m2). Well, but M might have a monoid structure with > respect to the operation ".". Do you really also want to ask "if M has > Monoid(.)..."? That soon becomes impractical.
No, this is not an issue about practicality. Look at it this way: Suppose "M has Monoid" returns "true". How do you know then with respect to which operation M is a monoid? What can you do with the information that M is a monoid with respect to some operation? Martin _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
