X-Git-Url: http://git.kpe.io/?p=kmrcl.git;a=blobdiff_plain;f=lists.lisp;h=c18fe7e1982bf7ba03041b05315b34df815fcd54;hp=9793f273d863227009390e794295864af9e63536;hb=78b62107690123d8d7a1a400e4a1d744408a05b1;hpb=26d4fb77a1630200f6101d7adc0b2914c825090a diff --git a/lists.lisp b/lists.lisp index 9793f27..c18fe7e 100644 --- a/lists.lisp +++ b/lists.lisp @@ -192,3 +192,10 @@ (setf ,plist (append ,plist (list ,pkey ,value))))))) +(defun unique-slot-values (list slot &key (test 'eql)) + (let ((uniq '())) + (dolist (item list (nreverse uniq)) + (let ((value (slot-value item slot))) + (unless (find value uniq :test test) + (push value uniq)))))) +