[Common Lisp] intern と symbol-name

intern は印字名に対応するシンボルを得る関数。 逆に、シンボルの印字名を得るには symbol-name 関数を用いる。 下の concat-symbol は「2つのシンボルの各印字名を連結した印字名をもつシンボル」を返す関数。 (defun concat-symbol (x y) (intern (concatenate ‘string (symbol-name x) (symbol-name y)))) CL-USER> (concat-symbol ‘x ‘y) XY NIL