2006-11-07から1日間の記事一覧

Parametricity、Genericity

GHC.Baseの定義見ると、 foldr :: (a -> b -> b) -> b -> [a] -> b build :: forall a. (forall b. (a -> b -> b) -> b -> b) -> [a]ってなってんだよね。forall付けていいときとダメな時の差がわかんねーと思って、 Theorems for free(P.Wadler) http://www…

fold/build/augment/unfold/destroy

というような話がリストでしか言えないなら、新しくデータ型を作るたびに、ルールを発見せねばならず、大して面白くもないんだけど、foldとかbuildとかaugmentは、圏論的背景を持ってて、Haskellの他のデータ構造でも使えるという話なので、素晴らしいかもし…

Core Simplifier

GHC

とりあえず、分からないものは放置の方向で!コメントでツッコミをもらって、GHCはやっぱり賢かったということに気付いたよ。最適化オプション付けると、全然ちげー。"main = return(1)"程度なら、型宣言してもしないでも、生成されるコードは一緒だとか、関…

Stgマシンの細部のイメージが全然つかめぬー。Stgマシンについてまともに書いたものが、Peyton Jonesのオリジナル論文くらいしか見当たらないので、つまり、これを読んで分からないバカは死ねってことですか、うぅ。というか、ページ数が多すぎです!10ペー…