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
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