Follow-up Comment #2, bug #30071 (project guile):
; I mean the simple implementation
(define* (unfold p f g s #:optional (t (lambda (x) '())))
(let loop ((s s) (a '()))
(if (p s)
(rev-append a (t s))
(loop (g s) (cons (f s) a)))))
(define (rev-append xs ys)
(if (null? xs)
ys
(rev-append (cdr xs) (cons (car xs) ys))))
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?30071>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/