Ralf Hemmecke <[EMAIL PROTECTED]> writes: > What about putting > > toHere: (X: UPOLYC) -> X -> % > > into the category of UPOLYC and then > > toHere(X: UPOLYC)(x: X): % == coerce(x)$UPOLYCoerce(X, %) > > as default implementation?
just to make the analogy with CoercibleTo: coercibleTo: (X: UPOLYC) -> % -> X add coercibleTo(X: UPOLYC)(x: %): X == coerce(x)$UPOLYCoerce(%, X) > It's not exactly like a simple coerce, but you get rid of explicitly stating > all the CoercibleTo X exports. But it's a very nice idea, maybe we can extend it somehow... A has with coercibleTo(SparseUnivariatePolynomial R): % -> SparseUnivariatePolynomial R or even A has with coercibleTo(SparseUnivariatePolynomial R) ? However, in truth I think one needs: > Another question is using "forall" types > (your semantics of CoercibleToCat is essentially forall > type): I think that such types would be a nice addition, > but first we should work out semantics to make sure > that we do not fall into some trap (like conflict > with overloading). Martin ------------------------------------------------------------------------- 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