elispでSICP
SICPの問題1.5は演算子を合成式にできることを確かめましょうという問題なのだけど、elispだとどうもうまくいかない。
結局演算子をクォートして、consでリストにして作ったリストをevalで評価するようにしてみた。
defun a-plus-abs-b (a b) (eval (cons (if (> b 0) '+ '-) '(a b)))) a-plus-abs-b (a-plus-abs-b 10 5) 15 (a-plus-abs-b 10 -5) 15
でもこれだと演算子を合成式にできるっていうイメージとまるでかけ離れてるなぁ
Gaucheもやっぱインストールしておくべきだろうか?