2002-12-01 [長年日記]
λ. 師走です。でも私は走りません。当然です。
λ. お昼
みのり亭
λ. 計画停電
学校が計画停電でした。停電の事自体は覚えていたのだけど、学校のサーバが使えなくなるのは思いの外不便だった。
λ. 借りた本
- 『
仙姫午睡 』 -
桂木祥[著]
珠黎皐夕 [イラスト] - 『細菌人間』
- 筒井康隆[著]
- 『ぼくらは虚空に夜を視る』
- 上遠野浩平[著] 中澤一登[イラスト]
- 小説すばる 2002年7月号
- -
λ. ソ◯ロ◯
をネタにするというのは一体誰が始めたのだろう。と、ふと思った。
2002-12-03 May the lambda be with you... use the lambda, Alysia. [長年日記]
λ. w3m
ふと、
- blockquoteとqのcite属性、del/ins等のdatetimeを情報パネルに表示
- iframe/objectのtableへの変換
の機能が欲しくなってw3mのソースをいじってみたが思うように動かない。きっと、HTMLlineproc?()とHTMLtagproc1()の関係とかについて正しく理解できていないのだろう。こういうのをサクッとhack出来る人が羨ましい。
λ. webで話題のモノ - blogmap
面白いなぁ。自分でも作ってみたくなる。
λ. 萩野服部研
久野君が萩野先生の砲火の前に撃沈...
λ. クロロホルムの使用法
というか、あなたホントに実行してないでしょうネ? 犯罪デスヨ。
2002-12-04 [長年日記]
λ. glib-2.1.3
出たのでコンパイルしようかと思ったけど、pkg-configの0.14が必要で、まだcygwinのcurrentには入ってなかったので後回しに。すっかり軟弱な私。
2002-12-05 [長年日記]
λ. 喉が痛い。頭がボーッとする。風邪ひいたかな。
λ. 読書
- 『ちゃぶだいケンタ』
- うめ[著]
λ. C++言語カルトクイズ
Zinnia hack tomorrow. (2002-12-05) より。
がびーん。typenameも例外仕様も知りませんでした。exportも名前だけしか知らなかったので答えられなかったし、仮想継承も説明できませんでした。仮想継承の実装方法は11/10の「C++: 水面下の仕組み」で理解していたのだけど、概念を説明するのは難しい。
λ. open-uri
[ruby-dev:19011]より。おぉ、便利だ。
λ. Computational lambda-calculus and monads.
Wadlerの論文は幾つか読んだけど、Moggiのオリジナルはこれまで読んでなかったので、読んだ。すごく面白かった。
2002-12-06 [長年日記]
λ. 「風邪をひいた」と言ったら、「そうか、酒井君も人間だったんだ」と言われた。わたしゃ、ロボットか宇宙人か何かですか?
そーいや、以前に他の人に「それ以前にホモサピエンスかどうか……」とか言われたこともあったな。
λ. 言語の意味論
参照的読み,属性的読み,内部属性的読みの違いがサッパリ分からない。やばい。
それから、「情報とは何か?」というのは非常に難しいのね。しかし、「エネルギーや粒子と相互作用する可能性を含んだ実体」としてinfon(情報子)か存在すると考えている研究者もいるのか。Keith Devlin とかがそうらしいけど、そういう人には「世界」ってどんな風に見えてるんだろう……
λ. 電界図鑑 - Bit World Laboratory (ルククノック研究所)
「情報子」で検索していたらこんなサイトにたどり着いた。状況理論のinfonとは全然関係ないけど、なんかいいなぁ、こういうのって。
λ. 今日の向井研
発表者が一人もいない5限……
2002-12-07 [長年日記]
λ. 補講が2つもあったのに寝坊して行けなかった。ダメだ……
λ. 関係ないが、「プレデター」って言ったら「リン・クロサワ」。
その通り!! たしか中尉でしたっけ?
λ. Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources
を読んだ。メモリ管理も奥が深いよね。
2002-12-09 [長年日記]
λ. 雪
おぉ、雪だー。積もってるよー。
λ. 寒いなー。でも、雪って結構好きだ。儚げに降ってくる雪片が重苦しく積もっていくのも好きだし、どんよりとした灰色の空も好きだ。純白の雪が踏みあらされて、雪解けと共に泥水となっていくのも好きだ。
λ. ところで、研究室で「諸君、私は雪合戦が好きだ。諸君、私は雪合戦が大好きだ。(以下略)」とか言い出したら即座に却下されてしまった。弾幕系の雪合戦がぁ……
λ. コンパイラ構成論
雑談。
λ. Bayesianってどういう考え方なんだろう
ところで、今日は偶然にも、産総研の本村洋一氏による講演会「ベイジアンネット:確率推論・学習・応用」があったりしました。他に授業があったので聴きに行けませんでしたが。
λ. 核抑止の失敗に向かう印パ紛争
を読んだ。黒木のなんでも掲示板より。
λ. I/O Event Handling Under Linux
を読んだ。そういえば、2.5系のカーネルではfile_operations構造体にaio_read等が追加されているのを見ると、非同期IOはカーネルに入ると考えて良いのかな?
2002-12-11 [長年日記]
λ. 銀歯が取れた
久野君が買ってきた夕張メロン味のハイチューを噛んでいたら銀歯が取れてしまった。これは久野君の陰謀に違いないと思う(笑)のだけど、久野君は恐いので何も言えません。
λ. Smalltalkと継続
「SmalltalkにもContinuationがあって、云々」という話がどうもピンと来なかったので、検索してみたら Continuation (Smalltalk Textbook 27) というページを見つけた。これだと、確かにCPSで書かれてはいるけど、言語として first class continuation をサポートしているとは言えないような……
と思ったけど、http://minnow.cc.gatech.edu/squeak/2119を見ると、Squeakにはcall/ccがあるのか。なるほどなるほど。
λ. レッシグの講演
そういえば、明日ネットワーク社会論でローレンス・レッシグ氏の講演があるそうです。あぁ、こんなことならCODEとコモンズ読んどけば良かった……
でも、そもそも予算編成論と重なってるんだよなぁ。こっちは財務省財務総合政策研究所研究部総括主任研究官の田中秀明氏で、こっちはこっちで聴いてみたいしなぁ……
2002-12-12 [長年日記]
λ. ローレンス・レッシグ@ネットワーク社会論
話は面白かったし、生レッシグも見れたし、大満足。
だけど、終わってみればSOIに後で上がるというじゃありませんかー!! SOIに上がると知っていたら、わざわざ予算編成論をサボってまで聴かなかったっすよ。僕はCODEも読んでないので質問したい事も特に無かったし。ぎゃー、ぎゃー、ぎゃー。
要約か何かをここに書こうかとも思ったけど、どうせSOIに上がるんならいーや。あ、そうそう。creativecommons.orgというのを紹介してました。
ところで、コミケくるってマジですか? 質問すれば良かったかなぁ。(笑)
λ. 予算編成論
こっちは財務省財務総合政策研究所研究部総括主任研究官の田中秀明氏の講演。 レッシグの講演が終わってから覗いてみたら、外債保有量が云々といった話をしていた。聞くところによると、スウェーデンとニュージーランドの財政の話とかがあったそうだ。それから、財務大臣の権限の大きさと財政赤字の量には相関があるという話が面白かったとか。くぅぅ
λ. From Direct Style to Monadic Style through CPS
LtUより。内容は簡単なのだけど、型を考えようとしたら頭が混乱してしまった。S式は型を想像しにくい気がする。
2002-12-13 [長年日記]
λ. 言語の意味論
.
λ. "What the hell are Monads?" をネタにHaskellのMonadを紹介
"What the hell are Monads?" をネタにして、Haskellでの Monad の使われ方について簡単に説明してみる。"What the hell are Monads?"よりはWadlerやMoggiの論文の方が個人的には好きなんだけど、長さ的にこっちの方が丁度良かったので。
その後、倉吉へ。
2002-12-16 [長年日記]
λ. コンパイラ構成論
課題その2が出た。TinyCのソースは以前にkjanaさんに紹介してもらって、簡単に目を通したことがあるので、TinyCの構造についてレポートするのが楽そう。だけど、やっぱり、CPLの処理系を作って見たいなぁ。
λ. 読書
- 『リストラ軍師大前鷹山』
- しりあがり 寿
λ. Jena
「プログラミング入門」の授業のテキストを読みながら、Jenaに触ってみる。
λ. 夕食
あろ〜むへ。パーティーは魔王豊ピーと愉快な仲間たち。
λ. 東方紅魔郷
今日はノーコンテニューで「レッドマジック」にまで到達したのに結局やられてしまった。ところで、「レッドマジック」って森博嗣の小説に出てくるOSと同じ名前ですね。
伏屋さんに、Extraでボム一個と一機を犠牲にしてパチュリーに擦りまくるというテク(?)を教えてもらう。
λ. 論文読み会 "Java バイトコードを編集するためのAPI"
Javassistの論文。
2002-12-17 [長年日記]
λ. システムプログラミング
今日はネットワーク入門。どうせならgethostbyname等の古いAPIよりもgetaddrinfoやgetnameinfo等の新しいAPIを教えれば良いのにと、ちょっとだけ思った。
λ. google://非リカード的政策 (2件)
.
2002-12-18 [長年日記]
λ. matrix.rb
ある commutative semiring の行列計算をmatrix.rbでやろうとして、matrix.rbはNumericの派生クラスしか対象にしていない事に気付く。仕方ないので0と1をそれぞれ加算と乗算の単位元にcoerceするようにして誤魔化す。
そういえば、[ruby-list:28917]とか[ruby-math:355]の話ってどうなったのかなぁ……
λ. Jenaで無名ノードを含むN-TRIPLEからModelにデータを読み込む
Jenaで無名ノードを含むN-TRIPLEからModelにデータを読み込む際には、3引数の方のreadを使ってURIのbaseを指定してあげなくちゃいけないのね。あぁ、こんな単純な事に一体何時間悩んでたんだろう……
2002-12-19 [長年日記]
λ. はぁ。俺ってダメダメじゃん。まったく使えない奴だ。
λ. 認知科学
過去問が配られたのだけど、それに以下のような問題が載っていた。ましゅまろ部会ネタかと一瞬思ってしまった。
<問題12> マシュマロ・テストに関する適切な記述を次の中から選びなさい。
- 甘さなどの味覚のテスト。
- 柔らかさなどの触覚のテスト。
- 大人にはあまり有効でない。
- 知的な潜在能力を開花させる上で重要である。
- 衝動を抑える能力を見る。
- 情動を制御するテスト。
λ. Ruby-CPL
Closed Functorial Expression のunificationを書いた。ちょっと手を抜いてるけど。
2002-12-20 [長年日記]
λ. 言語の意味論
PTQはオントロジー(存在論)が貧弱。例: 裸の複数名詞句
- Soldiers are brave. (兵士一般についての文)
- Soldiers are drank. (特定複数の兵士についての文)
- ゴキブリはどこにでもいる。Cockroaches are everywhere.
個体概念だけでは不足。 => Greg Carlson の存在論
entity | kind | indivisual |
object | ||
stage |
kind,object,stageのいずれに働くかという情報を動詞句が持っていると考える。
自由Σ代数系は記号としての式の全体そのもの。 自由Σ代数系とオントロジーは深く結び付いている。
- 「オントロジーは自由Σ代数を作る手続き」-- P.Aczel
λ. 東方紅魔郷
ようやくノーマルをノーコンテニューでクリア!!。霊夢の「夢の御札」を使いました。86215060点で、中村さんには約8万点ほど及ばなかったけど、これで心置き無く冬休みに入れます。(笑)
λ. 借りた本
- 『状況と態度』
-
ジョン・バーワイズ (Jon Barwise),
ジョン・ペリー (John Perry) [著]
土屋 俊, 白井 英俊, 向井 国昭, 鈴木 浩之, 片桐 恭弘 [訳] - 『自然言語の意味論 - モンタギューから「状況」への展開』
- 白井英俊[著]
λ. 買った本
- Software Design 2003年1月号
- BSD Magazine 2002 No.14
2002-12-21 [長年日記]
λ. fold,自由代数,表示的意味論
10/10に読んだ Fold and Unfold for Program Semantics だけど、昨日書いたように「自由Σ代数系は記号としての式の全体」であるならば、構文木の全体が自由代数で表わされる事と、自由代数のinitialityから、foldオペレータによって表示的意味論を与える事が出来るのは、ある意味自明だと思った。
λ. 買った本
- 『ベルセルク 24』
- 三浦健太朗[著]
λ. 向井研忘年会
甘太郎。
λ. 獣姦小説
「獣姦小説」で検索されるのには飽きたので、「獣姦」を含むURLは「本日のリンク元」には記録しない事にした。
2002-12-22 [長年日記]
λ. 昼食
大船の五右衛門へ。
λ. 買った本
- 『Rubyソースコード完全解説』
- 青木 峰郎 [著]
- サポートページ
- 『会計が変わる—企業経営のグローバル革命』
- 冨塚 嘉一 [著]
- 『金融法廷』
- 岩田 規久男 [著]
RHG キタ━━━━(゜∀゜)━━━━ッ!!
2002-12-23 [長年日記]
λ. Ruby-CPL
どうもfactorizerのmost general annotated expressionのannotationの変数の数が多すぎる。数時間悩んだあげくに、ユニフィケーションの方法に問題があることに気が付く。多数の内から一度に2つづつをunifyして字句的に書き換えるという処理を繰り返していっても、その2つに出現しない束縛変数に関するユニフィケーションの情報は伝播しない。当然と言えば当然すぎ。あぁ、ユニフィケーション周りは根本的に書き直さなくちゃダメかなぁ……
λ. 読書
- 『私の救世主さま 2』
- 水無月 すう [著]
- 『プラネット ガーディアン 2』
- 高坂 りと [著]
- 『大魔法峠』
- 大和田 秀樹 [著]
- 「リリカル、トカレフ、キルゼムオールっ♥」はともかくとして、 「魔女が相手では肉弾戦は不利……」ってのが妙に印象に残った。
- 『疾風可憐迅雷狐娘!』
- 橘 あゆん [著]
2002-12-24 [長年日記]
λ. Ruby-CPL (仮称)
む、「Ruby-CPL」で検索されてるー。僕がこないだ始めたばかりの計画なので、検索したって情報は何も無いですよー。……というだけなのは何なので、ちょっとは情報を書いてみよう。
まず、CPLというのは「Categorical Programming Language」の略で、論文「A Categorical Programming Language 」に書かれているプログラミング言語です(簡単な紹介)。こいつを再実装して、ふにふにするのが目標。
Ruby-CPLという名前は、単に当面の実装言語にRubyを使ってるから。何でもRubyとかRとか付けるのは良くない習慣だと思うのだけど、名前を考えんの面倒くさいし。
昨日のユニフィケーションの問題は、とりあえずdomain同士のユニフィケーションとcodomain同士のユニフィケーションを一度にやるようにして、それからfactorizerのmost general annotated expressionの求め方の間違いを直したら、試した限りでは問題が出無くなった。
例えば、CCCのSignatureを仮定すると、「pair(pi1, pi2)」の型もちゃんと「λ(X,Y).prod(X,Y) -> λ(X,Y).prod(X,Y)」になるようになった。
domainとcodomainのユニフィケーションを同時にやるだけで本当に十分かどうかというのは不安だけど、あとは問題が起ってから考えることにしよう……
λ. クリスマス
今年のクリスマスは色々な意味で寂しかった。
λ. だるい
頭痛い。また風邪ひいたかも。
2002-12-26 [長年日記]
λ. [ 昨日は風邪で死んでました。まだしんどい。
λ. @referersのキー
CGI.unescape(ref)をハッシュのキーとして使っているけど、 URI.parse(ref).normalize.to_sを使った方が良いかも知れないとふと思った。
-
CGI.unescapeしてしまうと異なるURLが同一視されてしまう可能性がある。
(例:「http://example.com/?p=;q=%3Bq%3D」と「http://example.com/?p=%3Bq%3D;q=」) - URI.parseは不正なURIに対してURI::InvalidURIErrorを投げるので、 これをチェックして不正なURLを弾ける。
λ. Ruby-CPL (仮称)
CDTの宣言のパーサと各種処理のコードを書いて、CDTを使ってCSLのSignatureを拡張出来るようにした。CDTで定義されるfunctorのvarianceの計算方法は3ヶ月前(2002-09-12)には理解出来てなかったので、ここが理解できたのは割と嬉しい。
conditional equations を抽出する部分は書けていないので、まだCDTから CSL Theory や Free Category を得ることは出来ない。
ただ、CSL Theory や Free Category は、denotationを数学的にきちんと与えるためには必要だけど、プログラミング言語としてのCPLを実現するにはあまり重要ではない気がする。CPLで実際に計算を行う際には、conditional equations ではなくCDTから直接導かれるrewriting ruleを用いるわけだし、それに Free Category の概念が無くても字句的な書き換えだけで済みそうだし……
2002-12-28 [長年日記]
λ. 朝
「おはようボンジュール」で俺を起こすのは止めてくれー。いやマジで鳥肌が……
λ. Ruby-CPL (仮称)
CDTから conditional equation を得る部分を書いた。こないだは無駄かもと書いたけど、自分が理解するのが目的なのだから、無駄だって全然構わないのである。
例えば、直積(product)の宣言、
right object prod(X,Y) with pair is pi1: prod -> X pi2: prod -> Y end object
からは以下のような(条件付き)等式が得られ、この宣言がproductの定義になっていることが確認できる。(あ、「.」は関数結合ね。メソッド呼び出しぢゃないぞっ♥)
- pi1.pair(f0,f1) = f0
- pi2.pair(f0,f1) = f1
- pi1.g = f0 ∧ pi2.g = f1 ⇒ g = pair(f0,f1)
- prod(f0,f1) = pair(f0.pi1,f1.pi2)
同様にleft objectの例として、自然数の宣言、
left object nat with pr is zero: 1 -> nat succ: nat -> nat end object
からは、以下のような(条件付き)等式が得られ、自然数の定義になっていることがわかる。
- pr(f0,f1).zero = f0
- pr(f0,f1).succ = f1.pr(f0,f1)
- g.zero = f0 ∧ g.succ = f1.g ⇒ g = pr(f0,f1)
λ. RHG
少し余裕が出来たので、RHGをパラパラとめくってみたり。たしかに難しいけど、脳の奥が痺れて気が遠くなるようなconceptualな難しさではないようなので、とりあえず安心。じっくり読めば何とかなりそう。
ところで、参考文献が随分マニアックな気が……。『プログラム意味論』(横内寛文[著])まで入ってるよ……
2002-12-29 [長年日記]
λ. Ruby-CPL (仮称)
Reduction rule (のLAZY版)をいい加減に実装してみた所、R-NAT (right object の natural transformation に関する規則)を除いて簡単に実装できた。つうか、R-NATややこしすぎ。
R-NATが無いので「pi1.pair(f,g) => f」のような簡約すら出来ないのだけど、「pr(succ.zero,succ.succ).succ.succ.zero => succ.succ.succ.succ.succ.zero」は実行できた。「pr(succ.zero,succ.succ)」は「f(0)=1」「f(n+1)=f(n)+2」を満たすユニークなの関数(つまり「f(x)=2x+1」)を、「succ.succ.zero」は定数の「2」を表わしているので、いわば「f(2) => 5」という計算が実行できた事になる。
λ. 読書
- 『仙術師は熱愛される—恋愛中毒的仙術師』
- 川添 真理子 [画], 甲斐 透 [原作]
λ. 明日
が早いので今日はもう寝ます。
2002-12-30 [長年日記]
λ. 購入物等
- 『2003 Year Calendar』
- サイ ヨシユキ, いろは楓, Wednesday, 青いかりんとう, チエコ, 今野 隼史 [画]
- 『felica. - BITTERSWEET FOOLS ReCOLLECTION BOOK -』
- JEWELBOX, LAMPBOX [著]
- 『かわいいのすき。』
- みさくらなんこつハースニール
- 『コメボン』
- RiceCandy
- 『銀茄子畑 Ver.1.00』
- 銀茄子園
- 『東方妖々夢 体験版Plus』
- 上海アリス幻樂団
- 東方妖々夢げっぇ〜っと!!。> 萩野服部研の諸氏
『蓬莱人形』も欲しかったのですが、こっちは売り切れてしまっていました。 残念。 - 『Tetramorph - 0 -』
- 藍羽 優希 [画]
- 『VAMP FESTA MANIFEST !!』
- 温風 流音 [画]
- 『華』
- 薬用植物園 (南戸 まあ)
- 『A Paradisiac island 』
- 海老名 総一, 猫井ミィ, てくてく, Azasuke, ひつき, 千家 カゲロー, TAMA, 大嶋 亮, 雨宮 えびす丸, 井上 新太郎, 時雨 [画]
- ラーメン本
- サークル不詳。
λ. Ruby-CPL (仮称)
R-NATのサブルールにはR-NAT-VとR-NAT-Fがあるのだけど、とりあえずR-NAT-Vに限定して実装してみた。これで例えば「prl(zero,succ.pi2).cons.pair(!,cons.pair(!,cons.pair(!,nil))) ⇒ succ.succ.succ.zero」が実行できるようになる。
ただ、R-NAT-Vはnatural transformationのdomainが定義しようとしているオブジェクトそのものの場合にしか使えないので、これだけではやっぱり弱すぎる。例えば、prodやinflistに関する計算は出来ても、expやdyn'に関する計算は実行できない。
λ. 配列の長さを無視してアクセスしているようにしか思えんのだが……
Cでは、末尾のメンバに可変長配列を持つような構造体を扱う際の常套手段ですよん。
ψ うぃすてりあ [> 東方妖々夢げっぇ〜っと!!。> 萩野服部研の諸氏 神降臨!]
ψ うぃすてりあ [> 配列の長さを無視してアクセスしているようにしか思えんのだが…… うむ、俺も数ヶ月前に嵌ったな、これ。 所詮、Cに..]
ψ jn [http://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.8...]
ψ さかい [gccには色々な拡張機能があって面白いですよね。 ちなみにC99ではサイズを省略する事が出来るようになってたりします..]
ψ 石川 [またよりにもよって誤解を招くような書き方を。。 臨戦体制ってそんなにテンパってましたか、私?^^; 相田さんの同人..]
ψ さかい [臨戦「体制」って今のアメリカみたいな感じ? とかぼけてみよう。 # 別にテンパってはいなかったと思いますよー > ..]
2002-12-31 [長年日記]
λ. 今年を振り返って
抱負は結局実現できてませんでした。「他人を犠牲にする」どころか他人に見捨てられてばかり。自分の欲求を追求すると言うよりも、自分を保護してくれる環境や人物に依存することによって一年を過ごしてしまってきた気がする。だんだんと自分の中で何か熱意のようなものが薄れてきている気もするし、この傾向はいい加減に解消しないとまずいよなぁ。
λ. 今年を振り返って (圏論)
ところで、1年前は圏論(Category Theory)の勉強会をやろうとしてましたが、結局参加者は集まらず一人で寂しく勉強してました。Categories for the Working Mathematician は、無責任に他人に勧めて置きながらまだ殆んど読めていないし、結局今年理解できたのは残念ながら圏論の初歩に過ぎなかったです。ただ、それにしても、圏論は「言語」として非常に優れていて、圏論を通して数学や計算機科学の色々な面を知ることが出来た事は、大きな収穫であったように思います。今年中にCPL(Categorical Programming Language)を再実装して、圏論の学習の一つの区切りにしようかと思っていましたが、これも残念ながら間に合いませんでした。
λ. 読書
- 『まぶらほ — メイドの巻』
- 築地 俊彦 [著]
「
λ. Ruby-CPL (仮称)
R-NAT-Vの理解がいまいち進んでいないので、expressionのパーサも書いて、一応対話的に使えるようにした。