2007-10-22から1日間の記事一覧

SICPを読む(55) 問題 2.33 - 2.35 accumulateの問題

accumulateと書くのが面倒なので、互換性のあるsrfi-1のfold-rightを使います。ついでにsrfi-26もお試しで。 問題 2.23 穴埋め問題。軽い軽い。 (define (map p sequence) (fold-right (lambda (a b) (cons (p a) b)) '() sequence)) (map (cut + 10 <>) (io…

手続きのカリー化?

カリー化についてはよくわかってないけど、srfi-26がやたら便利そうだ。SRFI 26: Notation for Specializing Parameters without Curryingメモ。 (cut * 2 <>) とやると、 (lambda (x) (+ 2 x)) になる。 実際使ってみた方が早い。 ((cut * 2 <>) 10) ; 20 (…

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) (f…