> UPOLYCoerce(A: UPOLYC, B: UPOLYC): with
>         coerce: A -> B
> 
>     add
>         coerce a ==
>              resta := a
>              res: B := 0
>              while not zero? resta repeat
>                  res := res + leadingCoefficient resta * leadingMonomial resta
>                  resta := reductum resta
>              res

> and this will provide a coercion function from any A to any B in UPOLYC

In other words, for any A and B you have a package that implements 
coerce: A->B. OK.

> but I cannot state that for any A and any B in UPOLYC

> A has CoercibleTo B

Now why do you think this is still important? Onces *you* have 
programmed UPOLYCoerce and you know that A: UPOLYC and B: UPOLYC then 
everything is clear and you can simply say (for a: A)

b: B := coerce(a)$UPOLYCoerce(A,B)

I see no need to require "A has CoercibleTo B". Perhaps, I still didn't 
get your point.

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