問題 2.24

(list 1 (list 2 (list 3 4)))
;-> (1 (2 (3 4)))

;consにすると、
(cons 1 (cons 2 (cons 3 4)))
;-> (1 2 3 . 4)

;にているようで違う。
;どのような意味の違いがあるのか?

(list 1 (list 2 (list 3 4)))
;-> (1 (2 (3 4)))

(cons 1 (cons (cons 2 (cons (cons 3 (cons 4 null)) null)) null))
;-> (1 (2 (3 4)))

;listの場合は、cdr部にはかならず次のconsが入り、
;おわりには必ずnullが入る。
;consは単にポインタの箱であり、listはconsの箱である。

;リスト構造の木

;   .
; |    |
; 1  |   |
;    2  | |
;       3 4

;こんな感じでわかるだろうか?