SICPを読む(64) 問題 2.46 - 2.47 Yanko先生のデバッグ手法
図形言語の実装部分に突入。問題は簡単なので略。僕は図形言語にYanko先生ソースを使ってるんですが、SICPの実装方法とはちょっと違うみたい。
ちょっとフレームの定義を見てみる。
まずふつうの。
(define (make-frame origin edge1 edge2) (list origin edge1 edge2)) (make-frame 1 2 3) ; (1 2 3)
普通です。リストですね。
Yanko先生版。
(define (make-frame origin edge1 edge2) (list 'frame origin edge1 edge2))
Yanko先生は(list 'frame ...)としてる。これがデバッグをしたときに物凄い効果を発揮する
(make-frame 1 2 3) ; (frame 1 2 3)
スゲーわかりやすい。
意味の無いリストに意味付けを行ってる。こうしておけばフレーム定義だと一目瞭然でわかるし、デバッグの効率は格段に上がるはず。
ちょっと勉強になりました。