Mark H Weaver scripsit: > Common Lisp, and (as far as I can tell) Wolfram Alpha do not keep track > of the exactness of their results, so they can simply turn 1.0+0.0i > into 1.0.
ANSI CL 12.1.5.3 forbids that behavior. 5 and 5+0i are required to be the same object, whereas 5.0 and 5.0+0.0i are required to be different objects. I have detailed the situation with multiple representation of inexact numbers for the usual 45 Schemes plus 10 Common Lisps at <http://trac.sacrideo.us/wg/wiki/FloatPrecision>. The short version is that most Schemes have IEEE double as the only representation. Racket and NexJ have both IEEE single and IEEE double, as do most Common Lisps. LispWorks has three distinct representations, CLISP has four. A few Schemes don't have inexact numbers at all. -- I suggest you solicit aid of my followers John Cowan or learn the difficult art of mud-breathing. [email protected] --Great-Souled Sam http://www.ccil.org/~cowan _______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
