[cells-cvs] CVS cells/utils-kt
ktilton
ktilton at common-lisp.net
Wed Oct 11 22:16:23 UTC 2006
Update of /project/cells/cvsroot/cells/utils-kt
In directory clnet:/tmp/cvs-serv31873/utils-kt
Modified Files:
detritus.lisp
Log Message:
--- /project/cells/cvsroot/cells/utils-kt/detritus.lisp 2006/09/05 18:40:48 1.10
+++ /project/cells/cvsroot/cells/utils-kt/detritus.lisp 2006/10/11 22:16:22 1.11
@@ -46,11 +46,23 @@
(defun xor (c1 c2)
(if c1 (not c2) c2))
-(export! push-end)
+(export! push-end collect collect-if)
(defmacro push-end (item place )
`(setf ,place (nconc ,place (list ,item))))
+(defun collect (x list &key (key 'identity) (test 'eql))
+ (loop for i in list
+ when (funcall test x (funcall key i))
+ collect i))
+
+(defun collect-if (test list)
+ (loop for i in list
+ when (funcall test i)
+ collect i))
+
+
+
;;; --- FIFO Queue -----------------------------
(defun make-fifo-queue (&rest init-data)
More information about the Cells-cvs
mailing list