前提・実現したいこと
Clispでm*nの乗算をチャーチ数を用いて作成しています
発生している問題・エラーメッセージ
funcall nにおいて関数を渡したいのですが、方法が分かりません。
実行方法
(multi 'three 'four '1+)
FUNCALL: 3 is not a function name; try using a symbol instead
該当のソースコード
(defun zero (s x) x) (defun one (s x) (funcall s x)) (defun two (s x) (funcall s (funcall s x))) (defun three (s x) (funcall s (funcall s (funcall s x)))) (defun four (s x) (funcall s (funcall s (funcall s (funcall s x))))) (defun multi (m n s) (funcall n (funcall m s (funcall #'zero s 0)) (funcall #'zero s 0)))
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー