mes: Add delete-duplicates.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 29 Apr 2018 16:32:35 +0000 (18:32 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 29 Apr 2018 16:32:35 +0000 (18:32 +0200)
* module/srfi/srfi-1.mes (delete-duplicates): New function.

module/srfi/srfi-1.mes

index d5103390ca5d37784f33e4b19676d1d3d37da6a4..58de5b08032cde50e48c23cbc8ddbc556ca4ab13 100644 (file)
 
 (define last (compose car last-pair))
 
+(define (delete-duplicates lst . equal)
+  (let ((equal (and (pair? equal) (car equal))))
+    (let loop ((lst lst))
+      (if (null? lst) '()
+          (if (if equal (member (car lst) (cdr lst) equal)
+                  (member (car lst) (cdr lst)))
+              (loop (cdr lst))
+                (cons (car lst) (loop (cdr lst))))))))
+
 (include-from-path "srfi/srfi-1.scm")