Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (mk-ackumulator)
- (let ((l '()))
- (case-lambda
- (() (reverse! l))
- ((x) (set! l (cons (list x) l)))))
- (define (tree-traversal x ack)
- (if (pair? x)
- (begin
- (tree-traversal (car x) ack)
- (tree-traversal (cdr x) ack))
- (if (null? x)
- (values)
- (ack x))))
- (define (optimized-flatten x) (tree-traversal x (mk-ackumulator)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement