- キン肉マンってこのころからあったのか。
- 「これが関数名と引数並びとからなる2組を簡約化した、いわば題付き並びであることも説明したな」
- 「Lispの世界ではすべての情報構造がS式で表されなければならない」
- 「書かれたS式が静の世界とすれば、S式から別のS式を生み出すという計算機構は動の世界じゃ。静と動、この厳しい対立の美しさがすなわちLispなのである」
- 練習問題
1. 15
2. -15
3. 21
4. 7
5. 20
6. 37
7. 15
8. 15
9. 5
あってた。 - '''(aho doji)
CL-USER> (eval (eval '''(aho doji)))
(AHO DOJI)
CL-USER> - そういえば、シンボルという用語はでてきてないな。
- う、(+ '1 '2)がなぜ3になるのかがわからない。。。
- 「数を評価したらその数自身になるというのもプログラム言語としての1つの約束にすぎないことに注意しておきましょう」
- 「その辞書とやらもやっぱりS式で表せるんですか? もちろん、そうです」
- 「しょっちゅう使うものに限って変に乱れてくるんですよね」
CL-USER> (setq + 10)
10
CL-USER> (+ + +)
; Evaluation aborted.
CL-USER> +
(SETQ + 10)
CL-USER> (set '+ 10)
10
CL-USER> +
(SET '+ 10)
CL-USER> (set '- 10)
10
CL-USER> -
-
CL-USER> (- - -)
; Evaluation aborted.
CL-USER> (- 1 1)
0
CL-USER> (+ 1 1)
2
CL-USER> +
(+ 1 1)
CL-USER> -
-
CL-USER> +
-
CL-USER> -
-
CL-USER> (progn
(print nil)
-)
NIL
(PROGN (PRINT NIL) -)
CL-USER>
あり? CLのREPLでは、+は直前の式を、-は現在の式を表わすんだ。- 練習問題
1. nil
2. t
3. nil
4. 58
5. (+ 87 90) -> 177
6. (+ B) -> (+ '(87 58 90)) -> error
7. (58 90)
8. nil
9. error
10. t
11. error
12. error
13. error
6, 9, 11, 12 を間違えた。。。
そうか。7がIの辞書登録なのか。すると9,11,12は納得。
6は???
aclでためしてみると、、、やはりエラーだ。
2008年1月8日火曜日
第3講 解釈は評価なり・・・辞書なくして世は渡れず
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿