On Lisp (2)
今日は3、4章を読む。
- 3.1 関数型のデザイン: 副作用をなくす。これ重要
- 3.2 命令型プログラミングの裏返し: 命令型から関数型への変換。昔々Lispを少しやったせいか、こういのは得意かも ^^)
- 3.3 関数型インタフェース: 「関数型インタフェース」という言葉があるのか・・・
- 3.4 インタラクティブプログラミング: Lipsは確かにインタラクティブプログラミングがやりやすい。
- 4.1 ユーティリティの誕生: たしかに、プログラミングしているとコードの何割かはユーティリティですね。ユーティリティが豊富、そして覚えやすいのは良い言語ですね。また、ユーティリティが作りやすい言語も良い!
- 4.2 抽象化への投資: そうそう、プロなら良い道具(ユーティリティ)をたくさん持ちましょう。
- 4.3 リストに対する操作: ここからコードを写経して確認・・・・
emacs で書いたコードをclispにコピペすると以下のようなエラーになり、しばし悩む ^^;
[1]> (defun longer (x y) (labels ((compare (x y) Help (abbreviated :h) = this list Use the usual editing capabilities. (quit) or (exit) leaves CLISP.
コピペしたコードにTABが入っていると補完等の解釈が動きエラーになります。
clisp -I
と clispを起動すればOK。 ただし補完機能等は使えなくなる。
SLIMEを使うと良いかも? 明日ためしてみよう。