Home‎ > ‎ProgramTool‎ > ‎

CommonLisp

http://www.geocities.jp/m_hiroi/xyzzy_lisp.html
clisp 入れてみたので、すこしさわっておこうかなと。
Rubyの松本さんのブログとかでLispの話になったとき、「s式」とか「マクロ」とか必ずのように言及されるわけだけど、意味がわかってないので、おぼろげにも話がみえない。
Lispは、15年以上前?大学時代に人工知能とかで期待されている言語ってことで、データも式も()でくくるってのを聞いた感じだったと思う。実際に触った記憶はあるような、ないような。

で、この記事見て、実際に触ってみるべと port でclipsいれてみた。
http://www-06.ibm.com/jp/developerworks/java/library/j-cb02067.shtml
Lispべつに、本気で覚えようと思っているわけではない。
いきなし、ラムダ式でつまづく。
>(setf total '(lambda (a b) (+ a b)))
(LAMBDA (A B) (+ A B))

>total
(LAMBDA (A B) (+ A B))

>(apply total '(101 102))
203
これがうまくいかない。(apply total '(101 102))で、引数がファンクションじゃないよって怒られているようだ。
どうやら、このページが間違っている?それとも、これも方言?
×(setf total '(lambda (a b) (+ a b)))
○(setf total (lambda (a b) (+ a b)))

Comments