• Re: Problem with iteration

    From B. Pym@21:1/5 to Erik Naggum on Fri Jul 5 22:48:59 2024
    Erik Naggum wrote:

    * Raffael Cavallaro
    | (defun my-reverse (a-list)
    | (do ((n (- 1) (incf n)) (result '() (cons (nth n a-list) result)))
    | ((= n (- (length a-list) 1)) result )))

    yikes.

    (defun my-reverse (list)
    (do ((reversed (list (pop list))
    (cons (pop list) reversed)))
    ((endp list) reversed)))

    Buggy:

    * (my-reverse '())

    (NIL)


    Gauche Scheme:

    (define (my-reverse alist)
    (fold cons '() alist))

    (define (my-reverse lst :optional (accum '()))
    (if (null? lst)
    accum
    (my-reverse (cdr lst) (cons (car lst) accum))))

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)