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

Single-threaded polymorphic lambda calculus

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=113759 MLでこれのことで盛り上がっているみたい。 Cleanの場合、一意型ひとつだけれども、これはもっと細かく分類できるみたい。 対応する処理系があるのかは不明。

Re: A Non-Blocking HashTable

スライドも読んだよ。 resizeの所は圧巻ですね。 しかし、State Machineを使って状態を整理するという手法は他にも応用が効きそうですね。

まあ、専門外について正確なことがいえる人なんていないからね

だからといって、正確なことしか言ってはいけないなんてことになったら、みんな一斉にBlogをやめないといけない。 しかし、そんなのつまらんよね。

海外ETF

http://kabuohazimeru.blog22.fc2.com/blog-entry-200.html 楽天証券で海外ETFが買えるんだー。 これはちょっと覚えておこう。

A Non-Blocking HashTable

http://blogs.azulsystems.com/cliff/2007/03/a_nonblocking_h.html うーむ。これは確かに面白そうだ。 - サンプルコードだけを見ると、俄には信じがたいなー。 こんなんで上手く動くんかー。 put()の実装が見たい。 - ところで、 if( K == key || key.equal…

言語を選ぶ基準

私が実際に使ってもいいかなと思う言語の基準というのはいろいろあるのですけど、重視している基準に次のプログラムが書けるか、というのがあります。 それは、schemeで書くと次のプログラムです。 (define (f x) (define (g y) (+ x y)) (define (h x) (g 1…

Ruby

Ruby好きな人ってよく見るのですけど、何がいいんでしょう? 使ったことがないのですが、何がよいのかわからないうちは、使ってみようと思えないのですよね・・・

Re: Adaptive Huffman Coding - Algorithm Λ

[id:lethevert:20070527:p1] if R = 0 then begin R := M div 2; if R > 0 then E := E - 1 end; となっていたのを if (r == 0){ r = m / 2;} if (r > 0){ e -= 1;} と書き間違えていた。 正しくは、以下。 if (r == 0){ r = m / 2; if (r > 0){ e -= 1;} }

Adaptive Huffman Coding - Algorithm Λ

http://www.cs.duke.edu/~jsv/Papers/catalog/node79.html にPascalの実装があるのだけれど、コーディングスタイルが古すぎて読めない。 - 別の言語で書き直してみたら分かるかと思ったけれど、まだよくわからない。 そのうえ、(自分のコードが)なんかバグ…

抽象化とレイテンシと遅延評価

http://karetta.jp/book-node/gauche-hacks/023107を見て思ったこと。 レイヤーを重ねて抽象化したコードはわかりやすくて保守性が高いのだけれども、場合によってはレイテンシが発生します。 抽象化を進めてレイヤーが増えていくと、各レイヤーで発生してい…

Java: mutableなオブジェクト

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20070527#p04 Javaは文字列はimmutableなので、大丈夫ですけど、java.util.Dateとかがmutableで気になって仕方ないことがあります。 値オブジェクトを可変にするなんてどういう神経をしているのだ、と…

圧縮アルゴリズム

http://www.ics.uci.edu/~dan/pubs/DC-Sec4.html

Adaptive Huffman Coding

について調査中。 http://en.wikipedia.org/wiki/Adaptive_Huffman_coding http://www.cs.duke.edu/~jsv/Papers/catalog/node78.html http://www.cs.duke.edu/~jsv/Papers/catalog/node79.html - 結局、元論文が一番わかりやすいという罠

Re: 回答 : 文字列処理

[id:lethevert:20070523:p1]の続き [id:odz:20070523:1179942403] LCP (longest common prefix)という名前が付いているのですね。 ということでそれでググってみたら、Wikipediaで解説がされていました。 http://en.wikipedia.org/wiki/Longest_common_subst…

Re: クロージャ

[id:sumii:20070524:p2] クロージャについては、昔あれこれ調べたり考えたりしていたので - Landinの論文やschemeの仕様のあたりだけに限定していると、レキシカルスコープを実現する上での、実装上のテクニックという理解で矛盾なく説明できるのです。 SICP…

メモ

http://utage.org/enkai/menu.cgi?ENKAI_CODE=osp2007

回答 : 文字列処理

http://d.hatena.ne.jp/lethevert/20070515/p1 多分、Suffix Treeを作って、一番深い分岐を調べるという方針になるのかと思います。 Suffix Treeだと大きな文書だとSuffix Arrayを作って順次隣接する要素を比較していけばよいのかと。 どちらの方が速いのか…

クロージャ

[id:m-hiyama:20070523:1179888512] はてなのキーワードにクロージャを登録した本人です。(駄洒落は私の仕業ではありません) クロージャってバズワードですよね。なので、人によって使い方がまちまちなような気がするのですが、プログラミング言語の機能と…

配列とは何か?

http://haskell.g.hatena.ne.jp/jmk/20070522/1179805822 を読んで、 http://www-06.ibm.com/jp/developerworks/java/library/j-rtj1/index.shtml の 大きなオブジェクトの割り当ては、多くの GC ストラテジーにとって厄介な問題です。配列などの単一の大き…

Erlang : すごいのはプロセス数じゃない!

プロセスが超軽量とか、何万プロセスが並列実行できるとかもすごいのですけど、私にとって一番驚愕だったのは、あれが「ソフトリアルタイム」要件を満たしているらしいということの方です。 http://www.erlang.org/faq/x1138.html#AEN1169 普通の高水準言語…

π-calculus 超入門

メモメモ。 http://web.yl.is.s.u-tokyo.ac.jp/kobalab/kadai99/picalc.html

高階関数の関数引数が1個だろうが2個以上だろうが

http://www.rubyist.net/~matz/20070512.html#p04 無名関数のシンタックスがシンプルな言語には関係がない。 Start = [1,2,3,4,5] |> map \x = 2 * x

Erlang : Re: 単一代入の弊害?

http://d.hatena.ne.jp/m-hiyama/20070521/1179707076 あー。パターンマッチというのは変ですね。ちょっと勘違いしていました。 でも、単一代入でも、スコープの規則をうまく利用することで、同じ名前の変数に更新した値を束縛していくことはできますし、関…

単一代入な配列にナイーブなソートアルゴリズムを適用したら

大変なことになるよ。

シェアードナッシング?

http://www.rubyist.net/~matz/20070501.html#p04 単一代入ならシェアードナッシングである必要はない気がするけど。 というかシェアードナッシングって何を指しているのだろ?

Erlang : 配列

http://d.hatena.ne.jp/n_shuyo/20070521/erlang 別に、インデックスを再帰でインクリメントしながら各要素に処理を行うのは、普通の処理ですよ。少なくともCleanでは。 Erlangでも、こういう風に書けますよね。 -module(array). -export([each/2]). each(F,…

Concurrent Clean : ?

なぜ、`をalnumの仲間に入れて、?をそうしなかったのだろう? isNull :: [a] -> Bool の代わりに null? :: [a] -> Bool と書けるのに。 ついでに、破壊的な関数については、!を使って fwrites! :: !String !*File -> *File と書きたいし。 これも、プリプロ…

読了: Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching

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

Erlang : 配列

http://d.hatena.ne.jp/n_shuyo/20070517/erlang なんだかなー。 とりあえず、先に、これ(http://ancient.s6.xrea.com/erlang/cookbook.html#Ref%3C0.0.0.49%3E)を読んどきましょうね。 Erlangで配列のようなものが欲しければ、リストではなくてタプルかバ…

Erlang : 単一代入の弊害?

http://d.hatena.ne.jp/m-hiyama/20070517/1179360670 これは単一代入のせいではないですよ。 そうではなくて、Erlangの = は代入ではなくてパターンマッチだということからくる問題です。 1> 1 = 1. 1 2> 1 = X. ** 1: variable 'X' is unbound ** 3> X = 1…