Alex Shinn <alexsh...@gmail.com> writes: > For exponentiation, R[34]RS noted the convention > "0^0 is defined to be equal to 1." > > R5RS clarified this as "0^z is 1 if z = 0 and 0 otherwise." > > R6RS changes this to: > > (expt z1 z2) procedure > > Returns z1 raised to the power z2. For nonzero z1, this is > e^{z2 log z1}. 0.0^z is 1.0 if z = 0.0, and 0.0 if (real-part z) is > positive. For other cases in which the first argument is zero, > either an exception is raised with condition type > &implementation-restriction, or an unspecified number object is > returned. > > As a minor issue, it replaced the exact numbers with > inexact numbers, although all but one of the zero base > examples are exact. I'm assuming this was a stylistic > change, and that from the examples the intention is the > rule applies to any base which answers #t to `zero?'. > > What I'm more interested in is the unusual behavior > that the result _either_ raises an exception _or_ returns > an unspecified number. I believe this is the only place > in any of the reports where the semantics is the disjunction > of signalling an error and an unspecified value. What's > the story behind this?
This is where we made the change: https://bitbucket.org/sperber/r6rs/changeset/3641c2841e1bc34d5fbf8946876eab015e132870 changeset: 697:3641c2841e1b user: clinger date: Thu Aug 24 21:12:37 2006 +0000 summary: Minor revisions to base.tex (generic arithmetic). Unfortunately, I can neither remember how that came about, nor can I find any mention of it in the minutes. Maybe Will remembers more. -- Cheers =8-} Mike Friede, Völkerverständigung und überhaupt blabla _______________________________________________ r6rs-discuss mailing list r6rs-discuss@lists.r6rs.org http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss