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. Ralf On 07/16/2008 05:12 PM, Yixin Cao wrote: > > > On Wed, Jul 16, 2008 at 10:04 AM, Bill Page <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > On Wed, Jul 16, 2008 at 10:24 AM, Yixin Cao wrote: > > Howdy, > > > > (1) -> 8-4 > > (1) 4 > > Type: > > PositiveInteger > > (2) -> 8/4 > > (2) 2 > > Type: Fraction > > Integer > > (3) -> > > (3) -> 4-8 > > (3) - 4 > > Type: > > Integer > > > > - is only a partial function in PositiveInteger. In OpenAxiom, 8-4 > > returns PositiveInteger, while 4-8 goes into Integer automatically. > > > > / is partial in Integer, but in OpenAxiom, / always returns Fraction > > Integer, even 8/4. > > > > There is no such thing as a "partial function" in Axiom. I guess you > mean a function that returns, for example: > > Union(Integer, "failed") > > I treat this as total. See section 2.1.9 in P16 of "Types and > Programming Languages" by Pierce. > > > > > > > Why not 8/4 returns 2(Integer), while 4/8 returns 1/2(Fraction > Integer)? > > > > There is no function / that returns Integer. > > There is no function - which returns PositiveInteger either, right? > > > > Regards, > Bill Page. > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > 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 ------------------------------------------------------------------------- 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