2007-08-01から1ヶ月間の記事一覧

関数をメモ化する

2年かかってしまった (参照) 実装とサンプル これを参考にしてfixから実装した (fixの実装とサンプル) curry化は素朴に実装できて、コンパイル時の負担も少ない(ように感じる)

POD指向プログラミング?

新しいプログラミングパラダイム、かもしれない オブジェクトを静的に作るために全部POD型にする Boost.XpressiveやBoost.Protoがその実践例と考えられる 実際的なメリットとしては、コンパイルが早くなる 初期化に関数を使わないから POD型はユーザー定義の…

Currying in C++

static-initializationのために苦しいマクロを使う羽目になる 8.5.1/14(Working Draft)はsubaggregateにも当てはまると思われるので型が複雑になると大変になる 実装とサンプル Quickbook1.4(Boost1.35相当)がかなりパワーアップしていた

List Comprehensions in C++ その2

よく考えると、"子Range"は"親Range"の要素にアクセスできなければいけない 結局、Rangeを返す関数オブジェクトを渡す、という苦しいことになった (実装) ちなみに実装は、本当にモナドから作った 複雑なiteratorがいろいろ必要なので、STLが最後にたどりつ…

二項関数をinfixにする

FC++にあって、実装は意外に簡単 実装とサンプル Haskellのマネであるらしい

List Comprehensions in C++

List Comprehensionのエミュレートを試みた これがRangeに関する一番ややこしい課題なのではないかと思う 怪しい実装とサンプル FC++も参照

Parallel Algorithms

前回のは少しおかしかったので訂正 parallel_xxxはこの辺りに (サンプル) parallel_for(for_eachじゃない)の必要性が良く分からなかった