FUNCTIONP and printer for FUNCTION
[jscl.git] / lispstrack.lisp
index 7f7d99d..b677491 100644 (file)
   (compile-bool
    (concat "(" (ls-compile key env fenv) " in " (ls-compile object env fenv) ")")))
 
+(define-compilation functionp (x)
+  (compile-bool
+   (concat "(typeof " (ls-compile x env fenv) " == 'function')")))
+
+
 (defun macrop (x)
   (and (symbolp x) (eq (binding-type (lookup-function x *fenv*)) 'macro)))
 
     ((symbolp form) (symbol-name form))
     ((integerp form) (integer-to-string form))
     ((stringp form) (concat "\"" (escape-string form) "\""))
+    ((functionp form) (concat "#<FUNCTION>"))
     ((listp form)
      (concat "("
              (join (mapcar #'print-to-string form)