2001-06-24
λ. 今日も、起きたのは3時半。はぁ。
λ. Module#const_missing
method_missing同様にconst_missingというメソッドを定義できるようにすれば、drbでリモートから定数を普通に参照できて便利だと思うのだが…
λ. Gimp-Ruby
Win32API拡張ライブラリのように、引数や返り値の情報をオブジェクトに封入してみたら、gimp_procedural_db_proc_info()の呼び出しも一か所になったし、幾らかシンプルになって良い感じだ。欠点は、他の部分のコードが今のままだと、PDB::Procedureオブジェクトを量産して、ガベージコレクタを覿面に刺激しそうな事くらい。でも、オブジェクトにしたことでキャッシングが容易になったので、ちゃんとキャッシュすれば、ガベージコレクタを刺激する事もないし、PDBとのやりとりも減るので、良いことずくめ。
さて、どうやってキャッシュするかな。名前をキーにしたハッシュにfetchのブロックでPDB::ProcedureオブジェクトへのWeakRefを突っ込んでおけば良いのだけど、死んだWeakRefをハッシュから取り除くタイミングとか結構かったるいな〜
2002-06-24
λ. Subtyping and Inheritance for Categorical Datatypes
を読んだ。特に難しいところもなく、サクッと読めた。
論文読み会に丁度良い長さなんだけど、これを論文読み会で読むとすると圏論の導入から始めなくちゃいけなそうなのが難点か。
2005-06-24
λ. BiGram の実装
だいぶ前の話題だけど、この辺りから。
- http://tokuhirom.dnsalias.org/~tokuhirom/inamode2/lily.cgi/91.html
- http://d.hatena.ne.jp/squall_kt/20050223#1109094421
- http://d.hatena.ne.jp/squall_kt/20050224#1109226166
関数型言語ならやっぱりzip使うよな。Haskellだとこんな感じだけど、OCamlだとどんな風に書くのが普通なんだろうか?
import Data.Map biGram :: String -> Map (Char,Char) Integer biGram [] = empty biGram s = fromListWith (+) $ zip (zip s (tail s)) (repeat 1) main :: IO () main = do s <- getContents let g = unionsWith (+) [biGram l | l <- lines s] flip mapM_ (toList g) $ \((a,b),n) -> putStrLn $ [a,b,'\t'] ++ show n
……とか書いてたら、soutaroさんからOCaml版のコードが! 感謝なり。
さらに、向井さんからもOCamlの別のコードとsoutaroさんのコードに関するコメント。花谷さんからもHaskellでParsec を使ったコード。sumimさんからはSmalltalk版のコードが。これまた感謝なり。
λ. 587 安らぎの村
C304村のエピローグでmayunecoさんに「最後の決着がランダムで決まってしまっている村」として教えてもらった587 安らぎの村(まとめサイト)を読んだ。 後味がちと悪いのはランダムになったこと自体が原因ではなく、最終日に十分に議論できなかったのが原因だな。 勝負自体は白熱したいい勝負だったと思う。 あと、4日目のトーマスの以下の台詞が気に入った。
- 木こり トーマス 午前 0時 47分
- まぁ、偽者は自然に見える事しか言わないだろう。
けど、真の場合は真実しか言えないからな。たとえそれが自分が偽に見えるような判定であってもだ。
λ. 『社会保障を問いなおす—年金・医療・少子化対策』, 中垣 陽子
を読んだ。年金については大体知っている話だったし、著者の案は「税財源による基礎年金と、保険料に基づく所得比例型の二階部分」「年金一元化」という点では私の考えているものとほぼ同じだった。だけど、医療・少子化については色々と新鮮だった。これら全てについて一貫した視点から論じているのは貴重かもしれない。社会保障の考え方と、今何が問題になっているのかを手っ取り早く把握したい人には、お勧め出来る。私も「社会保障論」の授業で得た知識と併せてようやくちょっと分かってきた気がする。
不満点としては経済学的な視点がもう少し欲しかったかな。これらの議論への経済成長率の変化の影響とか、物価の変動の影響とか、高齢化に伴う貯蓄率の変化とか……
ところで、少子化について議論するとき、私はいつも「結婚・出産の機会費用が大きくなった」という考えを主張しているのだけど、具体的などれくらいの機会費用なのかは知らなかった。この本によると『内閣府「経済財政白書」(二〇〇三年)によれば、大卒の女性が出産・子育てのために一旦退職し、その後でフルタイムの仕事に復帰した場合に失う所得は八、五〇〇万円、出産・子育て後、パートで働いた場合には二億四、〇〇〇万円となっている』だそうだ。色々と考えなくちゃいけない部分はあるけど、「まあ、そんなものかな」と感じる。
2006-06-24
λ. Functional pearl: i am not a number -- i am a free variable. Conor McBride, James McKinna
を読んだ。 しかし、変数とか束縛ってのは毎度悩ましいものだね。
λ. Re: 推移的崩壊とAFA
<URL:http://evariste.jp/kagami/diary/0000/200606.html#20060624-1>
かがみさん、はじめまして。集合論雑記は以前から時々読んでいました(^^ 集合論をきちんと勉強していないものにとっては非常にありがたかったです。今回も詳しい説明ありがとうございます。おかげで、推移的崩壊と Mostowski's collapsing lemma についてはだいぶよく理解できました。
で、AFAについてですが…… 等号の検証はそういう形で書くと難しそうに見えるかもしれませんが、実際にはそれほど難しく感じたことはないです。coinduction proof principle では x = y を証明するために xRy が成り立つような bisimulation R が存在することを証明しますが、coinductipn proof principle はある意味 ∈-induction の双対みたいなものなので、こっちだけがそんなに難しいことはないとも思いますし。
また、decoration や AFA はたとえ正則性の公理や推移的崩壊の概念がなくとも、余代数方面のアイディアから生まれたのではないか、と個人的には思っています。というのも、集合全体を余帰納的に定めようとすると、つまり集合全体のクラスが冪集合関手(をクラスに拡張したもの)の終余代数(final coalgebra)になるようにしようとすると、結局 decoration や AFA のような概念は自然に出てきそうな気がするので。
……最初にも書いたように集合論についてはまったくの素人なので、変なことを書いていたら済みません。
追記 (2006-06-26)
<URL:http://evariste.jp/kagami/diary/0000/200606.html#20060624-1>
coalgebra等の簡単な解説は近いうちに書こうと思いますが、別に圏論の深い理解が必要とかそんなことはなくて、結構簡単な話です。とりあえず、coalgebraとcoinductionのチュートリアルとしては、B. Jacobs と J. Rutten の A Tutorial on (Co)Algebras and (Co)Induction. (<URL:http://www.cs.ru.nl/~bart/PAPERS/index.html>) あたりになるのかなぁ……
それから、私もくるるさんに集合論の中で推移的崩壊がどう使われるかを教えてもらえるのを楽しみにしています :-)
2008-06-24
λ. tDiaryのセクションアンカーにtitle属性を
[tDiary-devel] [PATCH] セクションアンカーにtitle属性を
現在のtDiaryのセクションアンカーは、同じ文字列でありながらリンク先が異なってしまっていて、アクセシビリティの観点からはあまり好ましくないので、アンカーのtitle属性にサブタイトルのテキストを入れるパッチを提案してみた。
きっかけは ダイアリー設定を試しに変更 - 檜山正幸のキマイラ飼育記 から はてなダイアリーの見出し設定は2段にした方がいいよ - ぼくはまちちゃん!(Hatena) を読んで、そういえばtDiaryはどうなっていたかと思ったこと。ただ、実際には検索エンジンのクローラはtitle属性はあまり見ていないようで、SEO的には意味がないようだけど。