From: Roman Marynchak <roman.marynchak@gm...>  20100430 06:17:46

Thanks for this explanation. Now I understand the behavior of EXPT in CLISP and Lispworks, and I will modify the patch for SBCL accordingly. Regards, Roman 2010/4/30 Harald HancheOlsen <hanche@...> > It seems to me that the hyperspec is quite specific about > (expt 0.0 0): > > When powernumber is an integer 0, then the result is always the > value one in the type of basenumber, even if the basenumber is > zero (of any type). That is: > > (expt x 0) == (coerce 1 (typeof x)) > > You can't possibly get any clearer than that. > > And it continues: > > If powernumber is a zero of any other type, then the result is also > the value one, in the type of the arguments after the application of > the contagion rules in Section 12.1.1.2 (Contagion in Numeric > Operations), with one exception: the consequences are undefined if > basenumber is zero when powernumber is zero and not of type > integer. > > In other words, the consequences of (expt ZERO 0.0) are undefined if > ZERO is a zero of any type. > >  Harald > > >  > _______________________________________________ > Sbcldevel mailing list > Sbcldevel@... > https://lists.sourceforge.net/lists/listinfo/sbcldevel > 