1.1.2 Naming and the Environment

(原書の要約というかメモ)
※誤訳・勘違いがあるかもしれないので、もしあればお気づきの箇所をお知らせください

  • 名前は「変数」で、その「値」はオブジェクト
  • Scheme で名前を定義するには define を使う
  • ex.
gosh> (define size 2)
size
gosh> size
2
gosh> (* 5 size)
10
gosh> (define pi 3.14159)
pi
gosh> (define radius 10)
radius
gosh> (* pi (* radius radius))
314.159
gosh> (define circumference (* 2 pi radius))
circumference
gosh> circumference
62.8318
  • Define は一番簡単な抽象の方法
    • (例で示した circumference のような)複雑な式の結果への参照に、簡単な名前を付けられる
    • 一般に計算オブジェクトはとても複雑で、それを覚えていたり、いちいち繰り返したりするのは、非常に面倒
  • 実際には、複雑なプログラムは、計算オブジェクトが少しずつ複雑さを増す事によって、組み立てられる
  • インタプリタは step-by-step のプログラミングには非常に便利
    • 名前オブジェクトの連携を、継続的な対話によって徐々に作り上げることができる
    • この機能は徐々に進むような開発やブログラムのテストなどをしやすくする
    • Lisp プログラムはたくさんの手続きが関係する事によって成り立っている

環境 (environment) (正確には大域環境 global environment)の話は第3章であつかう