PasteRack.org
Paste # 95365
2015-01-29 05:28:17

Fork as a new paste.

Paste viewed 3255 times.


Embed:

remove dupes

  1. #lang racket
  2.  
  3. (define [drop-same v l]
  4.   (if (or (null? l) (not (eq? v (car l))))
  5.     l
  6.     (drop-same v (cdr l))))
  7.  
  8. (let loop [[l '(1 2 3 3 4 5 5 6 6 7 8 9 9 10 10 11)]]
  9.   (if (null? l)
  10.       null
  11.       (let [[head (car l)]]
  12.          (cons head
  13.                (loop (drop-same head (cdr l)))))))

=>

'(1 2 3 4 5 6 7 8 9 10 11)