2007-11-01から1ヶ月間の記事一覧

再帰関数の表現

let a = v; restは(\a -> rest)(v)と等価だけど、再帰関数はどうなるか。まず、Y f -> bodyを用意する。Yは、引数にfを受け取り、fはbody中に出てきてもよくて、その場合bodyになる、ようなbodyをつくる式。こうすると、 letrec f(x) -> body; rest => (\f -…

完成: Pythonで型推論を実装してみる

たぶん解決 - ラシウラのつづき。 Lambdaでの無限循環型の排除と、変数型の同値性の導入できちんと実装した。 型推論をPythonで実装してみる - ラシウラ出張所 - coders 同値性のコードが予想以上に大きかった。同値管理の実装は馬鹿っぽいけど、うまくやる…

de Bruijn index

http://en.wikipedia.org/wiki/De_Bruijn_index 簡約時のα変換不要にするラムダ式の変数表現法 λx.λy.x → λ λ 2 λu.λv.((λx.λy.x) u v) → λλ((λλ2) 2 1) => λλ((λ3) 1) => λλ2 その式の内側から数えたλのインデックスで変数名を表現する。β変換では 適用する…

たぶん解決

http://d.hatena.ne.jp/bellbind/20071127/1196146911 のつづき中を調べるには単純な例に限る。 # \x->x x print "expr1_3" expr1_3 = Lambda(["x"], Apply(Ref("x"), [Ref("x")])) print_type(expr1_3) これを実行すると、 expr1_3 ([([([([...]) -> <variable type>]) -> <variable type></variable></variable>…

型推論つづきのつづき

高階関数の型推論の問題 http://d.hatena.ne.jp/bellbind/20071122/1195681317 とりあえずできたが、今度は推論で完全じゃない部分を入れてないためにおきる問題にぶつかる。Haskellだと普通はidid x = x xは型が(((...->t)->t)-t)となる型エラーで定義でき…

エンジニアとネタバレの関係

パンプキンヘッドいわく ネタバレで楽しめなくなるのが普通の人 ネタバレで満足するのが経営者 ネタバレを見た上で楽しむのがエンジニア

型推論つづき

http://d.hatena.ne.jp/bellbind/20071121/1195644746 「不正確」の解決をしてみる。一応Wikipediaにアルゴリズムがあるので、対応付けしてどこがまずいかチェックしてみる http://en.wikipedia.org/wiki/Type_inference 型推論のアルゴリズムは「Hindley–Mi…

Pythonで型推論のアルゴリズムを書いてみるが

記憶だけをたどって、型推論のアルゴリズムがかけるかどうかやってみる。let recやパラメトリック型は抜きで、まず書いてみようとしたが途中で断念。 (つづき→ http://d.hatena.ne.jp/bellbind/20071122)以下の型推論のコードはたぶん不正確です。 構文木 # …

アプリのアップグレードとか

http://d.hatena.ne.jp/bellbind/20070629/1183078324 Vistaにいれてるアプリをしばらくアップデートさせてなかったので、ひさびさにチェックしてみたらほぼすべてアップデートがあった。とりあえずダウンロードだけしておいた。その総数26個。

連環画

中学生くらいのとき図書室に三国志の連環画の翻訳本(たぶん陳瞬臣訳だったような)があって、ふと思い出して検索で探してみた。どうも連環画というようだ。 連環画 - Wikipedia いずれも20世紀頭の作品で、製作技術は文化大革命で滅んだようですごく残念。↓に…

オプーナ多すぎだろ

http://www.gpara.com/special/event/ranking/character07/index.php つかオプーナさん人気か

年金過誤納額還付きた

半年分。二重にでも払わされたのかな。理由が書いてないんだけれど。手続きで社会保険事務所に行くことになるようだから聞いてみるか。

tex記法でcasesが使えるようになってた

http://d.hatena.ne.jp/hatenadiary/20071109/1194590107 おお。半ばあきらめてたからおどろき。 500投入したアイデアポイントも1500に増えた。

不動点意味論のわかりにくいところ

http://d.hatena.ne.jp/bellbind/20071030/1193720960 なんとなくわかってきたのでメモ 結局は、半順序、上限がイメージしにくい 半順序は直感的にa より b のほうが情報が多いというだけのもの 半順序かどうかではなく、そうなるように定義されているものと…

ptex-binが入れられなかった

mathtex試すためにtexディストリを入れてみたけど、単にパッケージインストールだけのはずなのに大変だった。texliveパッケージをいれ、パッケージにtexlive-doc-jaってのがあるので、それをいれ、そこにあるドキュメントをソースからビルドをしようとしたら…

mimetexとmathtex

http://www.forkosh.com/mimetex.html このmimetexを詳しく調べたところ、どうも実態は新バージョンのmathtexっぽい。 http://www.forkosh.com/mathtex.html このmathtexをビルドしてみたけど、デフォルトでlatexとdvipngコマンド、それにキャッシュディレク…