Thanks everyone.

Sorry I'm little verbose, but I can only read english.

What I want?

--------------------------
COMMON-LISP-USER> (defmacro smthing (x)
            (let ((s (intern (concatenate 'string "print-" x))))
              `(defun ,s NIL (print "foo"))))
SMTHING

COMMON-LISP-USER> (macroexpand-1 '(smthing "foo"))
(DEFUN |print-foo| () (PRINT "foo"))
T

COMMON-LISP-USER> (smthing "foo")
|print-foo|

COMMON-LISP-USER> (|print-foo|)
"foo"
--------------------------

I'll be happy with `print-foo' function, not `|print-foo|'.

regards, szymon.

Reply via email to