Skip to content

Instantly share code, notes, and snippets.

@zaltoprofen
Last active August 29, 2015 14:10
Show Gist options
  • Save zaltoprofen/a9b42fe5e36c41def410 to your computer and use it in GitHub Desktop.
Save zaltoprofen/a9b42fe5e36c41def410 to your computer and use it in GitHub Desktop.
(define (uniq lst)
(define (uniq-detail head tail)
(cond
((null? tail) (list head))
((eq? head (car tail)) (uniq-detail head (cdr tail)))
(else (cons head (uniq-detail (car tail) (cdr tail))))))
(cond
((null? lst) '())
(else (uniq-detail (car lst) (cdr lst)))))
(define (uniq2 lst)
(define (iter residue acc)
(cond
((null? residue) acc)
((eq? (car acc) (car residue)) (iter (cdr residue) acc))
(else (iter (cdr residue) (cons (car residue) acc)))))
(if (null? lst)
'()
(reverse (iter lst (list (car lst))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment