>>763
> (setq plus '+)
この時点で、plusというシンボルの「値」スロットに + というシンボルが入る。
> (functionp plus) -> NIL
シンボルというものは「関数」ではないので当然NIL
> (funcall plus 1 2) -> 3
plusの「値」は + なので、これは
(funcall '+ 1 2)
と同じ。
実は funcall は第1引数にシンボルが来ると、そのシンボルのグローバル関数スロットの値を
自動的に取り出すという(ややおせっかいな)機能があるので、これは動作する。

シンボルが関数として定義されているかどうか調べるのは fboundp を使うのが良いだろう。
で、真だったらそのシンボルを funcall へ渡すことができる。