[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*To*: "srfi-43" <srfi-43@xxxxxxxxxxxxxxxxx>*Subject*: Re: a bug in srfi-43*From*: "Zhu Chongkai" <mathematica@xxxxxxxxx>*Date*: Mon, 28 Feb 2005 09:13:52 +0800*Delivered-to*: srfi-43@xxxxxxxxxxxxxxxxx

Actually, I just finished porting SRFI-43 to PLT and now it is available at http://webhost.5ewy.com/kellyjm/SRFI-43.zip During the porting, I find several bugs in both the document and reference implementation of SRFI-43. The document in http://webhost.5ewy.com/kellyjm/SRFI-43.zip is bug-fixed version by me. The details are: Besides (vector-fold (lambda (index counter n) , the two bugs in the document is: (vector-fold-right (lambda (index elt tail) (cons elt tail)) should be (vector-fold-right (lambda (index tail elt) (cons elt tail)) and (let ((count 0)) (vector-map (lambda (ignored-index ignored-elt) (set! count (+ count 1)) count))) '#(a b) should be (let ((count 0)) (vector-map (lambda (ignored-index ignored-elt) (set! count (+ count 1)) count) '#(a b))) And in the reference implementation: (define (vector-reverse-copy! ... (between? sstart (+ tstart (- send sstart)) send) ... should be (between? tstart sstart (+ tstart (- send sstart))) If run the reference implementation, the example (vector-map (lambda (i x) (* x x)) (vector-unfold (lambda (i x) (values x (+ x 1))) 4 1)) returns #(1 4 9 <unspecified>) instead of #(1 4 9 16) And the second half of the document, there are no examples, which is totally different from the first half. (There may be more bugs in the reference implementation because after finding so many bugs, I distrust it and write my own code without reading it carefully. ) Best regards, ======= At 2005-02-28, 02:06:48 David Van Horn wrote: ======= >Taylor Campbell wrote: >> On Thu, 24 Feb 2005, Zhu Chongkai wrote: >>>In Section 4.4. Iteration, the final example of >>>vector-fold: >>> >>>Count the number of even numbers in vec. >>>(vector-fold (lambda (index n counter) >>> (if (even? n) (+ counter 1) counter)) >>> 0 vec) >>> >>>but shouldn't it be >>> >>>(vector-fold (lambda (index counter n) >> >> Yes, that is correct. I'm not sure of the correct protocol to fix >> things post-finalization, so I'll just cc this to the editors and hope >> that they fix SRFI 43... > >These sorts of typographical errors can be fixed after finalization. I went >ahead and updated the document. Thanks for the notice. > >David > = = = = = = = = = = = = = = = = = = = = Zhu Chongkai http://www.neilvandyke.org/mrmathematica/

**Follow-Ups**:**Re: a bug in srfi-43***From:*David Van Horn

- Prev by Date:
**Re: a bug in srfi-43** - Next by Date:
**Re: a bug in srfi-43** - Previous by thread:
**Re: a bug in srfi-43** - Next by thread:
**Re: a bug in srfi-43** - Index(es):