> The concrete use case was to replace the 188 declarations of coerce by a
> handful of declarations of CoercibleTo in the SPAD library.

Maybe you should also read Doye's thesis. As far as I remember, he also 
says something about how the autocoercion should work. (I somehow refer 
to what Waldek said about not producing needless loops in the coercion 
graph.) There is a whole theory behind coercions. Just adding some here 
and there is not right (in my opinion).

> I think that this
> would make the library more user-friendly, and could be a first step towards
> removing i-coerce and i-coerfn.

> But I hesitate to write
> 
> UnivariatePolynomial(var, R) == with Join(CoercibleTo SUP R, 
>                                           CoercibleTo Polynomial R, 
>                                           CoercibleTo DMP([var], R), 
>                                           CoercibleTo MPOLY([var], R) ...)
> 
> This doesn't look right.

Doesn't seem to look right. But how else would you want to export

   coerce: % -> X

for any of the replacements for X from above? They must statically be 
given at compile time or (if "extend" where available) could be added 
later (but also at compile time).

Ralf

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to