一汁三菜

自分が楽しいと思うこと、マラソン、旅行、その他日々の記録をしたい。

1.1 The Elements of Programming 〜 1.1.3 Evaluating Combinations

"primitive expressions"
literalとか
"means of combination"
複数の物を組み合わせて新しい物を作る物
"means of abstraction"
名前付けとか

Lispの式の例

numerals
1 13 45
expression
(+ 5 10 15)

ネストも可能

  • (+ (* 10 5) (+ 2 10))

Schemeでの名前のつけ方

(define hoge 10)
ずっと"means of abstraction"の意味が分からなかったけど、1.1.3を読んでようやく理解した。(+ 1 5)みたいに、operatorである+が1と5というオペランドに対して作用するのが"means of combination"。一方(define x 10)の場合、defineはxに対して何か作用する訳では無い。つまり、これは"means of abstraction"であって、"means of combination"では無い。