関数的プログラミング 環境構築は難しい
slimeの設定が悪いのか、clispが悪いのか分からないが、
undefied function CONS
とか言われて、困った。
コードは、本に載っているとおりで、
(defun good-reverse (lst) (labels ((rev (lst acc) (if (null lst) acc (rev (cdr lst) (cons (car lst) acc))))) (rev lst nil)))
labelsの使い方が悪いとも思えないし。。。
で、コンソール上のclispで確認すると通った。
slimeが悪そうということで、.emacsの設定を書き直したら、うまくいった。
(add-to-list 'load-path "clisp") → (add-to-list 'load-path "/usr/bin/clisp")
勝手に、パスを解決してくれると思っていたんだけど、そんなに甘くないのかな?
でも、それなら最初からclispが起動しない気がするけど。。。。
とりあえず、設定する時は、絶対パスを心がけようと思った。