Instructor's Manual to accompany "Structure and Interpretation of Computer Programs"で気になった所の覚書き
1.1 について
- Scheme を数学的なシステムであるかのように考える(ex. 代数)
- 次のような説明をしないように注意!
- ex. (square (+ x 1)) を評価するには、x をインクリメント(+1)してから square を呼ぶ」
- 式は常に左側から評価される
- ex. (square (+ x 1)) を評価するには、x をインクリメント(+1)してから square を呼ぶ」
- Basic, Pascal, C のような言語でプログラムしたことがある人への注意
- 文法的な規則を Scheme に押し付けないように注意する
- ex. 次のようなプロシージャを書こうとする
- 文法的な規則を Scheme に押し付けないように注意する
(define (sum-of-squares x y) (square x) (square y) (+ x y))
1.1.1 について
- Scheme での原始的な式(primitive expression) は定数 (constant) または可変の名前である。(ここでの primitive の用法は Scheme標準 ではないけれど)
- 結合 (combination) は常にプロシージャ・アプリケーション (procedure application) を示している
- 括弧 () はその意味付けをかえない限り、省略したり挿入したりする事はできない
- 括弧でグルーピングするような言語を使ったことがある学習者はこの点で混乱することがある
- 用語について
- 符号付き数字
- 学習者は符号付き数字の扱いで時々混乱する
- 加算と減算の演算子とは別
- ex. 符号と数字の間にはスペースは入らない。3 は +3 と同じ。
+3 3 -3 -3 (+ -3 -5) -8
今日はここまで。