2004-10-07
■ [prog] カリー化
後期が始まってからすっかり更新が鈍っている。
何をしてるのかというと、実習でO'Caml(Objective Caml)したりしてます。型推論すげえ。他にも音声認識とか、並列計算とかいろいろあったのだが、ちょうど関数型言語に興味を持ってたところだったのでO'Camlを選択した。O'Camlでscheme(のサブセット)のインタプリタを作るという実習なのだが、まだ始まったばかりなので、関数を定義したり、カリー化したりしてます。
とは言ってもまだあんまり本質が分かってない感じなのだが、oxy君のページで
K = lambda{|x| lambda{|y| x } }
みたいな(Rubyの)コードが書いてあって、ああなるほど、と思った。 「関数を返す関数」の連続で、関数が定義されている、と。
O'Camlでは例えば、
let concat x y z = x^y^z
と書くのは*1
let concat = (fun x -> (fun y -> (fun z -> x^y^z)))
と書くのと同じである。呼び出す方も、concat "a" "b" "c" と (((concat "a") "b") "c") が同じ意味となる。なんとなく、Lispのリスト (1 2 3 4) がRubyで [1,[2,[3, 4] ] となるのと似てる感じがした。なんか関係あったりするのだろうか。
*1 「^」は文字列結合の演算子
2004-10-09
■ [memo][junk] 2004年度版 テスト・ザ・ネイション 全国一斉IQテスト
テレビ番組でIQテストをやるらしい。
20問の「お試し版」がここからチャレンジできる。20問で飽き足らない人は、去年のお試し版もどうぞ。
知能テストって、小学校のころ何回かやらされたなあ。懐かしい。こんなにクイズっぽい問題ではなかった気もするが。
■ [memo][softs] Karta
ブラウザの「お気に入り」を、よくあるフォルダ式ではなく「分類タグ」にて管理するソフトウェア。1つのURLに複数の属性を付けることができ、検索によって探し出すことができる。
個人的にはフォルダ式で困っていないのだが、興味深いシステムではある。
k.inabaさんの属性・検索ベースのファイルシステムの記事を連想した。
2004-10-17
■ [kmc] HD危機
「10月はHDが壊れる季節」とか書いたら、部内のサーバのHDがイカれてしまった。
というわけでwww.kmc.gr.jpには暫く接続できなくなります。
10月は忙しくなりそうだ。
■ [softs] coLinuxその後
samidare_plusを入れてみたり、このへんを参考にchroot環境を作ってみたりした。
あとXを入れてVNCで接続、とかもやってみたのだが、twmでもウィンドウを動かすとちょっと重かったりするので断念した。「軽いウィンドウマネージャ」ということでratpoisonを使ってみたが、こちらは結構良い感じだ。特にscreen使いなら、違和感なくなじめるだろう。
…しかしシェルとemacsぐらいしか使わないなら、結局PuTTY+screenでいいわけで。(^^; X+ratpoisonを使うメリットは、縦分割と仮想ウィンドウぐらいか。
今日はリブートしたらcoLinux上からネットワークに繋がらなくなってちょっと焦った。どうやらSP2のWindowsファイヤウォールが「ネットワークの共有」機能を兼ねていたようで、ファイヤウォールを起動してやったら無事繋がった。やれやれ。
今やりたいと思っているのは、ディスクイメージの増設だ。現在は1GBのディスクイメージに全てが格納されているので、もう一つCD-Rサイズ(700MB程度)のイメージを作って、アプリケーションとデータを別にしたい(バックアップの簡単のため)。