On Monday, March 13, 2006 7:32 PM Gaby wrote:
...
Bill Page writes:
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 :-)
The use of 'pretend' has to do with the issue of representation.
I suppose it would be better to write:
default {
Rep == T;
square(t: %): % == per(m(rep(t), rep(t))
}