Plaster
New
List
Login
common-lisp
default
anonymous
2022.05.01 01:29:53
#!/usr/bin/env sbcl --script (load "~/.quicklisp/setup.lisp") (dolist (pkg '(:str)) (ql:quickload pkg :silent T)) (defconstant MY-DUMB-CONSTANT '("Some" "string" "values")) (defmacro make-print-fun (l) (let ((name (intern (str:join "-" (list "print" (string-downcase l)))))) `(progn (format t "Defunning ~o...~%" ',name) (defun ,name () (format t "~o~%" ,l))))) (make-print-fun MY-DUMB-CONSTANT) (print-my-dumb-constant) ;; Output: ;; Defunning print-my-dumb-constant... ;; Unhandled UNDEFINED-FUNCTION in thread #<SB-THREAD:THREAD "main thread" RUNNING ;; {70085D39F3}>: ;; The function COMMON-LISP-USER::PRINT-MY-DUMB-CONSTANT is undefined. ;; ...
Raw
Annotate
Repaste
Edit