flatten.ss
1 2 3 4 5 6 7 8 9 | (define (flatten li)
(reverse
(let loop ((accum '()) (porsi li))
(if (null? porsi) accum
(loop
(if (list? (car porsi))
(append (loop '() (car porsi)) accum)
(cons (car porsi) accum))
(cdr porsi))))))
|