2007-05-04から1日間の記事一覧

C++でテンプレートプログラミング

c++

C++ for Haskellerにまとまってるけど、自分でも書いてみる。データ構造をネストした型で定義して、テンプレートの部分特殊化によるマッチングで条件分岐しつつ処理。これが基本戦略。 データ型 データ型は二種類あります。これらは文法で厳密に区別され、メ…

C++でSchemeつづき

(define m 1000) (define p (lambda (x y z) x)) (define q (lambda (x y z) y)) (define r (lambda (x y z) m)) (define t (lambda (x th el) (if (= x 0) (th) (el))) (p 1 2 3) => 1 (q 1 2 3) => 2 (r 1 2 3) => 1000 (t 0 (lambda () 1111) (lambda () …