On Wed, Jul 16, 2008 at 10:25 AM, Ralf Hemmecke <[EMAIL PROTECTED]> wrote: > I think the whole discussion is misleading. > > A function has a source and target type. So, if there is > > /: (Integer, Integer) -> Fraction Integer > > than the return type is *always* Fraction(Integer), also for something > like 8/4 or 1/1. > > Why you see something else, is probably, because the interpreter adds > some conversions. That is mostly OK if you work as a user on the command > line, but in SPAD I would hate it since you would never know what type > you get if you apply a function like - or /. > > All I want to say is that here are some hidden coercions taking place so > the returned types are just what the interpreter is able to figure out.
Yes, this is correct. In the interpreter, everytime you have a result of type Integer, and that integer is a constant that can be coerced into a tighter SubDomain of Integer, that is done. The behaviour is controlled by $useIntegerSubDomain. If you like dpeendent types you should like it! (No, I don't :-) ------------------------------------------------------------------------- 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