英語が読める方:SICP英語版のfull-textから2.2.1 Representing Sequences辺りをお読みください。
英語なんて読めない or 嫌い or 読むのめんどくせな方:もうしばらくお待ちください
上に同じ
リストを印字したときに、ドットが現れたり現れなかったりするのはどういうことでしょうか?
一言でいうと、これは「ある条件の時にはドットを表示しない略式を使うことになっている」からです。
基本的にすべてドットがあるのですが、省略されているのです。
上の節で(まだちゃんと書いてませんが・・・)リストはペアのペアであることを見ました。
ペアのcar部とcdr部の区切りには必ずドットがつきます。
ですから、省略せずに書くとすれば
(cons 1 2) → (1 . 2) (cons (cons 1 2) (cons 3 4)) → ((1 . 2) . (3 . 4)) (list 1 2 3) → (1 . (2 . (3. ())))
となります。
では省略するルールを見ていきましょう。
といっても一つだけですが。
(list 1 2 3) → (1 . (2 . (3. ()))) → (1 . (2 . (3))) → (1 . (2 3)) → (1 2 3) ~~~~ ~~~ ~ ~~~ ~となります。