Schemeのevalでらくちんデバッグ
evalを活用して、っと。
(for-each (lambda (f) (display (eval (cons f '(tree)))) (newline)) '(sum-tree mul-tree reverse-tree)) 21 720 (6 (5 (4 3) 2) 1)
うっほ。かなり使える感じがする。
こんなときは・・・抽象化(笑
(define (debug tests args) (for-each (lambda (f) (display (eval (cons f args))) (newline)) tests))
としといて、
(debug '(sum-tree mul-tree reverse-tree) ; 関数たち '(tree)) ; 引数たち
イイネ!!