multiple-value-bindf is a macro like m-v-b, only it works in CPS's code.
authordrewc <drewc@tech.coop>
Mon, 20 Jun 2005 18:20:27 +0000 (11:20 -0700)
committerdrewc <drewc@tech.coop>
Mon, 20 Jun 2005 18:20:27 +0000 (11:20 -0700)
darcs-hash:20050620182027-39164-3611bc11da406a8c6a1dcf4de4efa89d9815cd1c.gz

src/mewa/slot-presentations.lisp

index 131d01c..7a6671e 100644 (file)
@@ -1,5 +1,12 @@
 (in-package :it.bese.ucw)
 
+(defun multiple-value-funcall->list (function &rest args)
+                  (multiple-value-call #'list (apply function args)))
+
+(defmacro multiple-value-bindf (vars form &body body)
+                  `(destructuring-bind ,vars 
+                    (multiple-value-funcall->list #',(car form) ,@(cdr form))
+                    ,@body))
 
 (defslot-presentation clsql-wall-time-slot-presentation (mewa-relation-slot-presentation)
        ()