2002-02-19
λ. 麻雀
今日もほぼ同じメンバーで麻雀。某先生がマージャンゲーム作成を面白がっていたのがわかる気がする。
λ. "Conceptual Mathematics: A First Introduction to Categories" を注文
悩んでいても仕方がないので、とりあえず Conceptual Mathematics: A First Introduction to Categories の方をskysoftで注文。これなら一人で読めそうらしいので。
λ. 高田崇司「公理的集合論による実数論展開」(Takashi Takada, Real Numbers in an Axiomatic Set Theory)
こういうの良いなぁ。
(from 科学哲学ニューズレター No.38 本年度の卒業論文・修士論文特集 from 黒木のなんでも掲示板)
λ. 経済政策は署名運動か?
日経新聞朝刊に「大機小機」というコラム欄があるのだが、そこに「経済政策は署名運動か?」という奇妙なコラムが載っている。インフレターゲッティングを署名運動になぞらえて批判しているが、この批判はむしろ構造改革路線にこそピタリと当てはまる気がするのだ。(皮肉なことに?)
そこで、以下のようなパロディはどうだろう?
平和を実現するためにどうすべきか——。現在においても、この問いへの確実な答えがあるわけではない。しかし、その難題に立ち向かうためには、バランス・オブ・パワーという痛々しい現実を直視する必要がある。好むと好まざるとに関わらず、軍事に精通して戦略を練らなければならない。
戦略の現場においては、「どうあるべきか」という理想像ではなく、「何ができるか」という等身大の実行力が問われる。美しいおとぎ話は足下の国防整備をいたずらに遅滞させて、無益どころか害悪をもたらす場合すらある。
こうしたむき出しの現実論の大局にあるのが平和主義者だ。「平和になる」という願いこそが重要。その志は崇高だ。主流の武器は「戦争反対」という署名運動。確かに世界のすべての人々が平和主義者になれば戦争はなくなるかもしれない。
しかし、歴史は平和主義者の願いを裏切ってきた。平和を切望する欧州諸国の融和政策がナチスの台頭を許したように、祈りだけでは戦争はなくせない。署名運動は啓もう活動としては悪くないが、武器としては威力に欠ける。それが我々の目前にある現実である。
とはいえいつの世にも現実を直視しない人々は多い。例えば我が国の経済学界だ。構造改革主義者がばっこし、それに反論しようものなら「抵抗勢力」といわれる。
そこでその経済学者たちに、構造改革がどうして景気回復につながるのかを聞いてみると、答えられない。軍事戦略なき平和主義者たちのようだ。「どんな手段をつかってもやるしかない」という決意のみが聞こえてくる。
これでは「祈ればかなう」という念力主義でしかない。構造改革でサプライ・サイドが効率化すると需要も増えるそうだ(一体どうして?)。署名運動と大差あるまい。願いは真摯(しんし)でも政策として有効か否かは別問題だろう。
学者であれば自説を説明するのに、きちんと経済学に基づいた理論展開をすべきだ。「構造改革なくして景気回復無し」の根拠を説明してみるがよい。構造改革が目下の問題を悪化させるだけなのをなぜ直視しないのか。日本に関しては不況の原因が本当に構造問題なのか問い直すべきである。
理想像と違うからといって現実から目を背けてはならない。目を背ければ新たなナチスの台頭を許すだけであろう。
2003-02-19
λ. ruby-dl with ffcall callback library
暇潰しにこんなの書いてみたり。dl-ffcall-callback.patch
このパッチを当てると、ffcallのlibcallbackが使えるときには、コールバック関数の個数の制限が無くなります。ただし、FuncTableは互換性を保つの面倒だったのでRubyレベルからは見えなくしてしまいました(これって何のためにあるんだろう?)。あと、ffcallは関数の呼び出しなんかにも使えるのだけど、暇潰しなので今回はパス。
……こういうのは、後でruby-devに送れば良いのかな? ……と思ったけど、ruby-devに投げるほどの内容でもなかろうと思い [ruby-ext:02156] 。
λ. head
ちなみに、行毎に取り出すには lines :: String -> [String] が便利です。
putLines :: String -> Int -> IO () putLines s n = mapM_ putStrLn . take n . lines $ s
λ. 抵当権?
テレビのニュースで、ロシアにはこれまで抵当権の仕組みが実質的に無かったというような事を言っていて、少し驚く。
λ. 読書
- 『妖しのセレス—天空お伽草子 (14)』
- 『妖しのセレス—天空お伽草子 (13)』
- 渡瀬 悠宇 [著]
2004-02-19
λ. 録画失敗
マリ見て、十兵衛ちゃん2, Gunslinger Girl すべて見逃す。まぁ、どうでもいいけどな。
λ. Rena (3)
まだ幾つかのテストケースが通ってない。原因は、
- 16日に書いた fragment付きのmailto: の処理
- URI Reference 中の非ASCII文字の処理が未実装 (仕様をまだ理解してない)
- Exclusive XML Canonicalization が未実装 (仕様をまだ理解してない)
- rdf:aboutEachPrefix, rdf:aboutEach, rdf:bagID の処理が未実装 (仕様をまだ理解してない)
- REXMLのバグ
パーサの瑣末な点は後回しにして、 そろそろ Schema や Ontology で遊ぼうか。 ……と思ったけど、少し飽きてきたので、しばらく放置決定。
2005-02-19
λ. Recursive types for free!, Philip Wadler
正負両方の位置にパラメータの現れるオペレータが不動点を持つような時のパラメトリシティの話かと思ってたのだけど、そうではなくて正の位置にパラメータの現れるオペレータの最小不動点と最大不動点を二階ラムダ計算で表現する話だった。
Fの最小不動点 μX.F(X) は ∀X.(F(X)→X)→X 、Fの最大不動点 νX.F(X) は ∃X.(X→F(X))×X で表される。それぞれ、weak initial F-algebra と weak final F-coalgebra になっていて、パラメトリシティが成り立つときに initial F-algebra と final F-coalgebra になる。
λ. パラメトリシティと不動点
パラメトリシティを仮定すると μX.X = ∀X.(X→X)→X によって initial object 0 を定義できる。ここでさらに不動点コンビネータを導入すると、不動点と有限直和を持つCCCの議論から困ったことになってしまう。不動点コンビネータとパラメトリシティは相性が悪い。
Theorems for free! では、不動点コンビネータを導入する場合には、パラメトリシティの適用できる関係を連続かつ正格なものに制限する必要があるとあった。μX.F(X) = ∀X.(F(X)→X)→X が initial F-algebra になることを示すには任意の射を関係として使えることが必要だったので、このような制限があれば、このμX.F(X)は initial F-algebra にはならない。これはまさにHaskellの場合で、Haskellで定義されるデータ型は weak initial algebra ではあるけど、initial algebra にはなっていない。
また、パラメトリシティと不動点を両立(?)させるには、そもそもCCC(= ラムダ計算)を諦めてしまって、線形論理を代わりに使うといったアプローチもあるみたい。
The Theory of Twiners and Linear Parametricity (Note), Ryu Hasegawa
λ. OCaml入門 (2): variance
OCamlは型定義の際にパラメータのvarianceを明示することが出来るそうだ。試してみる。
# type +'a foo = Foo of ('a -> unit) ;; Characters 5-34: type +'a foo = Foo of ('a -> unit) ;; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ In this definition, expected parameter variances are not satisfied # type -'a bar = Bar of 'a ;; Characters 5-24: type -'a bar = Bar of 'a ;; ^^^^^^^^^^^^^^^^^^^ In this definition, expected parameter variances are not satisfied
ふむふむ。確かにvarianceと矛盾する位置に変数が現れるとエラーになってくれますな。もう少し試す。
# type -'a foo = Foo of int ;; type 'a foo = Foo of int # type +'a bar = Bar of 'a foo ;; type 'a bar = Bar of 'a foo
ありゃ。これはエラーにならないのか。ということは、型の定義中にはユーザに与えられたvarianceを使ったチェックを行うけど、一旦定義された型が他で使われたときには、ユーザによって与えられたvarianceではなく推論されたvarianceを使うということなのかな。
λ. 第四回圏論勉強会
今日は例の圏論勉強会の第四回目だった。
- CategoryTheory:圏論勉強会 (sampou.org, Programming in Haskell)
ところで、Conceptual Mathematics: A First Introduction to Categories, F. William Lawvere, Stephen H. Schanuel という本をテキストとして使っているのだけど、実は僕がこの本を注文したのは丁度3年前の今日だった。あれから、3年間で自分は少しは成長できただろうか?
2007-02-19
λ. 札幌へスキーに
明日から札幌へスキーしに行く予定。 スキーは初めてなので楽しみ。
λ. 液晶保護フィルム
去年の2006-01-29に買ったデジカメ用液晶保護フィルムがipod nanoから剥がれかけていたので、またダイソーでデジカメ用液晶保護フィルムを買って、張り替えた。ただ、今回は1.5インチのがなかったので、フリーサイズのものを買ってきて、サイズに合わせて自分でカット。
2008-02-19
λ. 外貨預金
住信SBIネット銀行の「豪ドル・NZドル 一年もの定期預金 特別金利キャンペーン」というのに踊らされて 2,000 AUD ほど預金してみた。金利は年6.5%(税引後 年5.2%)とのことだけど、さて。あと、外貨預金をするのは初めてだったのだけど、申し込みの際、表示される為替レートの有効期限が10秒でカウントダウンしていくというのが面白かった。