"Bill Page" <[EMAIL PROTECTED]> writes:
| Martin,
|
| I think you have a rather beautiful idea... but I see some
| problems.
|
| On March 9, 2006 11:08 AM you wrote:
| >
| > I am satisfied now:
| > -----------------
| > #include "axiom"
| >
| > MyMonoid(T: Type, m: (T, T) -> T): Category == with {
| > square: T-> T;
| > default {square(t: T): T == m(t, t)}
| > }
|
| This definition of the category MyMonoid looks quite strange
| because it does not export any binary operation!
|
| Also, I think you should write:
|
| square: % -> %;
| default {square(t: %): % == m(t pretend T, t pretend T) pretend %
|
| although apparently the compiler does not worry about this since
| your representation of the domain MyWord below is the same as the
| operation that you pass to MyMonoid.
we should also probably find a way to minimize the "pretend"s :-)
-- Gaby
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer