2001-06-22 雨のち晴れ
λ. Cygwinのソース
ちょっと気になったところがあったので、ソースを覗いてみた。もし、ストイックにCだけで書かれてたらどうしようかと思ったけど、C++で楽ができる部分はC++で楽をしてるみたいで安心した。で、疑問だった部分も一応氷解。
λ. 韓国語
N先生情報によれば、東北弁っぽく発音すると、ネイティブっぽく聴こえるらしい。にゃーるほど。
2002-06-22
λ. ストック経済論の補講があるのを忘れてて寝過ごしてしまった。
λ. Lectures on the Curry-Howard Isomorphism
- http://www.cs.cornell.edu/courses/cs611/2001fa/scribe/lecture36.pdf
- http://www.cs.cornell.edu/Courses/cs611/2000fa/scribe/lecture_34.pdf
を読んだ。これを読んで、Curry-Howard Isomorphism について理解出来た木がする。僕の想像は概ね正しくて、欠けていたのは否定がreturnしない関数に対応して、CPS(Continuation Passing Style)に関係するという点だけだった。
2006-06-22
λ. IMAPに移行
これまでサーバ(kencho)にログインしてmewでメールを読むというoldtypeだったのだけど、最近色々と嫌になったのでIMAPを使うことにした。まず、「mh2maildir -courier -f -r -R Mail Maildir MH」でMH形式からMaildirに変換。これが10時間くらいかかった。単に適当な名前でコピーするだけかと思ったら、色々やってるのね。で、メーラには何を使おうか悩んだけど、とりあえずは使い慣れたMewをMeadow2上で使うことに。ネットワークが遅いと結構辛いが、Stunnelに「compression = zlib」という設定を加えたら少し快適になった。
そういや、ximapdも便利そうだなぁ。
2007-06-22
λ. “Coroutines in Lua” by Ana Lúcia de Moura, Noemi Rodriguez and Roberto Ierusalimschy
遠藤さんの[ruby-dev:30986]を読んで、読んでみた。
コルーチンのモデルには、全てのコルーチンが対等に呼び出しあう対称コルーチンと、親子関係があって子は親に制御を返すことしか出来ない非対称コルーチンがある。 対称コルーチンと非対称コルーチンの表現力は相互に比較不可能と言われているけど、実は同じらしい。へぇ(3)。しかし、非対称コルーチンの方が単純さや実装のポータビリティの点で優れているので、Luaでは非対称コルーチンのみをサポートしていると。
確かに操作的意味論は単純だし、これを読んでるとなんだか「RubyのFiberもLuaと同じようにすれば良いのに」とか思えてきてしまう。洗脳されてしまった。
あと、対称コルーチンと非対称コルーチンの関係が継続と部分継続の関係に似ているという話は面白かった。ただ、非対称コルーチンの場合にも部分継続と同様の点が少し気になる。具体的には、部分継続の場合の「どこまで切り取るか」という点に対応して、yieldでどのresumeに制御を移すかという点。この操作的意味論だとyieldで制御が渡る先はダイナミックスコープで決まっているけど、それで本当に十分? 部分継続の方では議論が収束気味らしいので、こっちでも結論は出てるのかも知れないけどさ。
2009-06-22
λ. “Parsing Expression Grammars: A Recognition-Based Syntactic Foundation” by Bryan Ford
- <URL:http://portal.acm.org/citation.cfm?id=964011>
- <URL:http://pdos.csail.mit.edu/~baford/packrat/popl04/>
- スライド
PEGのオリジナル論文だが、今頃になって読んだ。
PEGって理論的な性質とか全然証明されていないものだと思い込んでいたけど、結構色々証明されてるのね。 そんなことも知らずに、「CFG⊆PEGならO(n2)より小さな計算量のBMMが作れて矛盾、とか言えないんだろうか。」*1とか言ってたのかよ、という感じだけど。
面白かったのは、やはりPEGで表現できる空列εを含まない言語は、述語(predicate)を含まないPEGで表現できるという話。 述語を除去する変形がとても巧妙。