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

関数プログラミングのアプローチ (6)

遅延リスト 前回の修正で、シングルスレッド化を解消することができましたが、代わりに1つ新たな不都合が生まれました。 def main (): print math.sqrt(6.0 / estimate(cesaro_test, pairlist(10000, RandState.new()))) 上は、前回のプログラムのmain()関…

Haskell: seqってよくわからない

Haskellのseqって、Haskellの意味論の中で適切に定義できるものなのだろうか?

Java: CleanJ: オブジェクトと配列ってどちらの方が軽いのだろう?

考えるだけ無駄なような疑問ですが、 class Thunk { Object value; } new Thunk(); と new Object[1]; はどちらの方が軽いのかということを考えています。 比較ポイントは メモリ使用量 createのコスト loadのコスト storeのコスト メモリ使用量はほとんど変…

Java: CleanJ: データ型はどう表現するか?

CleanJの前のバージョンはいちいちクラスを作っていたのですが、ABCコードではフィールドに対してインデックスアクセスするので、インデックスとフィールドの対応表を作っていたのでした。しかし、どう考えても効率が悪いです。 CleanJの新しいバージョンで…

Haskell, Concurrent Clean : Re: 正格性フラグを使ってseqを定義する

http://www.tom.sfc.keio.ac.jp/~sakai/d/?date=20071023#p01 http://twitter.com/jmuk/statuses/365608742 これにそれほど感銘を受ける理由がいまいち分からなくて、不思議な感じ。 :: T = T !Int と t :: !Int -> A って大した違いはなくて、前者のほうは …