chiark / gitweb /
mdw-base (functionify): Coerce function designator to function.
authorMark Wooding <mdw@distorted.org.uk>
Tue, 3 Jul 2007 12:18:25 +0000 (13:18 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Tue, 3 Jul 2007 12:18:25 +0000 (13:18 +0100)
mdw-base.lisp

index 646eb7e7574b0cba9da669e5bda24efaf8e19f26..2c1a79c2286cf539e13c48b10ba27b030a59f5f1 100644 (file)
@@ -31,7 +31,8 @@ (defpackage #:mdw.base
   (:export #:unsigned-fixnum
           #:compile-time-defun
           #:show
-          #:stringify #:mappend #:listify #:fix-pair #:pairify
+          #:stringify #:functionify #:mappend
+          #:listify #:fix-pair #:pairify
           #:parse-body #:with-parsed-body
           #:whitespace-char-p
           #:slot-uninitialized
@@ -83,6 +84,13 @@ (defun stringify (str)
     (symbol (symbol-name str))
     (t (princ-to-string str))))
 
+(defun functionify (func)
+  "Convert the function-designator FUNC to a function."
+  (declare (type (or function symbol) func))
+  (etypecase func
+    (function func)
+    (symbol (symbol-function func))))
+
 (defun mappend (function list &rest more-lists)
   "Apply FUNCTION to corresponding elements of LIST and MORE-LISTS, yielding
    a list.  Return the concatenation of all the resulting lists.  Like