2007-11-30から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 同値性のコードが予想以上に大きかった。同値管理の実装は馬鹿っぽいけど、うまくやる…