2006-12-01から1ヶ月間の記事一覧

情報隠蔽について

[id:yoriyuki:20061223:p1] 大規模開発だと、きちんと設計段階でモジュールを分けておいて、よそから触るとまずい部分には、はっきり「触るな」と書いておかないと、後から変な依存をされていることが分かって、ニッチもサッチもいかなくなることとかありま…

夕張市

http://www.hokkaido-np.co.jp/Php/kiji.php3?&d=20061221&j=0022&k=200612214334 すごいことになってるなー って、記事が削除されたら何を言ってるか分からなくなるな。

C言語 : doubleのビットパターン

Javaで言うところの Double#doubleToLongBits() のようなことをC言語で書くのはどうすればいいのかとしばし悩んだ。 気づいてみたら簡単なこと。 union { double d; long long l; } data;

読了 Modern Information Retrieval (Acm Press Series)

Modern Information Retrieval (Acm Press Series)作者: Ricardo Baeza-Yates,Berthier Ribeiro-Neto出版社/メーカー: Addison Wesley発売日: 1999/05/15メディア: ペーパーバック購入: 2人 クリック: 11回この商品を含むブログ (13件) を見る思ったより時間…

Concurrent Clean : 枝刈り

相互再帰する型が必要になるので、レコード型かなにかを使う必要があるので、それはあんまり面白くないので、前のやつでおわり。

Concurrent Clean : shuffled_perm

shuffled_permがきちんとshuffleするように修正してみた。 shuffled_perm _ [] _ = [[]] shuffled_perm frnd ls s # (ls,rnd) = shuffle ls (frnd s) (slst,rnd) = map_shuffle [] ls rnd arr = asArray {a \\ a <- slst} (n,arr) = usize arr = loop n arr …

Concurrent Clean : 枝刈り

枝刈りを入れてみた。pruningの定義から、shuffled_permを追い出してしまいたいのだけれど、型付けの制限を回避しないといけないので、もう少し検討。 import StdEnv, OptEnv, MersenneTwister /* shuffled_perm :: * pruning_function random_list_generato…

Concurrent Clean : あなたならどうお書きになります1.0

[id:lethevert:20061222:p5] この間のあれは、何も考えずに書いたので、当然ながら効率は悪い。 手元のPCで、8人までは1秒以内だったが、9人で5秒。10人以上ではメモリも時間もかなりかかってしまう。 そこで、別のアプローチに切り替えて書き直してみ…

Concurrent Clean : あなたならどうお書きになります1.0

ちょっとひねった。 shuffled_permは、順列をランダムに並べて返すというのを作ろうとしたのだけれど、失敗している。 ついでに、中間状態の保持にメモリを消費するので、要素数が大きくなると破綻する。 もうちょっと考える。 import StdEnv, OptEnv, Merse…

Re: Concurrent Clean 2.2

今回のリリースに含まれなかったIntel Mac版ですが、Intel Mac 64bitが利用可能になるのを待って、32bit版と64bit版をまとめて作るそうです。

K language & Q language

K language http://www.kuro5hin.org/?op=displaystory;sid=2002/11/14/22741/791 http://en.wikipedia.org/wiki/K_(programming_language) Q language http://q-lang.sourceforge.net/ http://www.digitalcity.jst.go.jp/crest/Q/

x86アセンブリ言語入門

http://homepage1.nifty.com/herumi/prog/prog.html メモ

Concurrent Clean : key-value pair

Cleanのライブラリについて考えていたら、key-value pairを特別な書き方をすれば、コードの見易さがよくなるのではないかと思った。 実体は別に2要素タプルでいいのだけれど。 こういう記号の選択は、Perlを参考にするとよさそうと思って、 http://www.mail…

Concurrent Clean : あなたならどうお書きになります1.0

[id:Nabetani:20061217:p1] そっこーで1つ。乱数の使い方に自信が無い。あと、効率もよく考えていない。 module Main import StdEnv, OptEnv, MersenneTwister perm :: [a] -> [[a]] | Eq a perm [] = [[]] perm ls = [[a:ar] \\ a <- ls, ar <- perm (filt…

ノートパソコン電源修理

自宅のメインマシン(というか唯一のマシン)であるノートパソコンの電源が入らなくなってしまった。ケーブルをつないでも電源ランプがつかない。 それで、途方にくれてしまったのだけれど、何とか復旧して、今そのパソコンからこれを書いています。 復旧の…

Concurrent Clean 2.2

version 2.2がリリースされました! 相変わらず、自宅からは公式サイトに接続できませんが(ToT)、会社でダウンロードしてきました。 - Clean 2.2 の大きな変更は、64bit CPU対応のようです。AMD64とx64がサポートになった模様。 MacはまだPower PCのみの対応…

Threaded Code

ErlangのBEAMの説明を読んでいて、threaded-code emulationという言葉が出てきていて、何のことやらと思っていたら、 http://jp.rubyist.net/magazine/?0008-YarvManiacs に「ダイレクトスレッデッドコード」という言葉が出てきて、これはちょっと調べておこ…

書評を検索したい

本を探していて思うのは、本の評判だけを検索したいということ。 とりあえず、amazon.co.jpとamazon.comとhatena-diaryのリンクくらいは手作業でチェックするけど。

Concurrent Clean : プログラミング

[id:lethevert:20061126:p6] この続きをやらないと。 とりあえず、GetLastError()の返値を、errnoと同じ関数で取り扱えるようにした。

例えば,次の値はMath.PIの値に等しい。

http://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html#247981 Double.longBitsToDouble(0x400921FB54442D18L) そんなことを言われてもねぇ

経済学

市場原理の話って、需要関数と供給関数が単調でなければ、すぐに局所解に落ちてしまいそうな気がして、それを避けるためにボラティリティを入れすぎると信頼性が失われるとかそういうことになりそうな気がするなぁとか、ボーっとしているときに思った。 あー…

NestedVM

http://www.brianweb.net/personal/publications.php スライドでは、メモリを int として表現するとなっていたけれど、 浮動小数点数の扱いはどうするんだろう? int配列のビットパターンを効率よく floatやdouble に変換するテクニックがあるのだろうか? -…

コードハイライティング

diaryの方でも使えるようになったそうですよ。 なぜか、<<がおかしなことになってます。(↓)

次に読むことを検討中の本

Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching作者: Robert Sedgewick出版社/メーカー: Addison-Wesley Professional発売日: 1998/07/13メディア: ペーパーバック クリック: 4回この商品を含むブログ (3件) を見るアルゴ…

amazon

http://www.amazon.co.jp/gp/help/customer/display.html/250-7034205-2237868?ie=UTF8&nodeId=1085340 マーケットプレイスの商品を1-Clickで注文した場合、注文はすぐに確定されます。注文確定後は、注文内容を変更できませんので、ご注意ください。 らしい…

コードハイライティング

module Main import StdEnv Start = take 10 primes //素数列を求める primes = sieve [2..] where sieve [p:rs] = [p:sieve (filter (\x = x rem p <> 0) rs)] むむ。 -module(test). -export([hoger/1, send_and_receive/2]). % 何か受信したらhogeを付け…

LambdaVM - The Haskell to Java Translator

http://www.cs.rit.edu/~bja8464/lambdavm/ おお、こんなものもあるのか。

NestedVM, CleanJ

http://www.cs.rit.edu/~bja8464/NestedVM.pdf このアプローチでこのくらいのパフォーマンスが出るのなら、CleanJももう少し頑張れば使い物になるレベルまでいけるかもなぁ。

Concurrent Clean : pipe line operator

「f |>$ "abc"」ではなくて、 f |>+ "abc" f |># "abc" f |>* "abc" f |>& "abc" とか

Erlang : typing

Erlangは、オプションで型付けができるらしい。 -type fac(int()) -> int(). fac(N) when N > 0 -> N * fac(N-1); fac(0) -> 1.のように宣言するみたい。