Dirk Herrmann <[EMAIL PROTECTED]> writes:
> The test for exactness if wrong here: Rationals (if supported) could
> fulfill that predicate as well. I will apply the following patch:
>
> diff -u -r1.208 boot-9.scm
> --- boot-9.scm 2000/07/01 17:01:22 1.208
> +++ boot-9.scm 2000/07/12 07:23:07
> @@ -793,7 +793,7 @@
> (define expt
> (let ((integer-expt integer-expt))
> (lambda (z1 z2)
> - (cond ((exact? z2)
> + (cond ((and (integer? z2) (>= z2 0))
> (integer-expt z1 z2))
> ((and (real? z2) (real? z1) (>= z1 0))
> ($expt z1 z2))
Did you check with R5RS that it is OK to return an inexact in the case
of exact negative exponent? (I presume it ius.)
> > I noticed also that list-tail does no longer accept a second negative
> > argument. R5RS say it is an error if the list length is shorter
> > than the second argument, but is silent for the negative case.
>
> But the example implementation given in R5RS relies on the fact that the
> parameter is positive or zero. Further, I can not think of any reasonable
> behaviour for the case of negative indexes. Thus, IMO it is a bug fix
> rather than a bug that negative indexes are not accepted.
Indeed.