Doug Hoyte defines in his introduction to Let Over Lambda the symb function as an essential utility to meta-programming with macros:
In clisp:
(defun mkstr (&rest args)
(with-output-to-string (s)
(dolist (a args) (princ a s))))
(defun symb (&rest args)
(values (intern (apply #'mkstr args))))
Why are symbols so important in macro programming?