#%PATH%kana
####この手の本がじゃんじゃん出てる
#ほしいけど買っても読まない(読めない)わたし
#帰宅ー
#その手の本、プログラミングには必要ないけど、Haskell の抽象ライブラリ(Applicative とか)を理解したり、自分で新しいのを作るときには、知ってたら便利
##積読も読書のうち、手元ないと絶対読まないけど、手元にあると読むかもしれない。この差は無限に大きいと思う。0か非0かなので > cut-sea
#nobsun: ありがとう
#まあ、その手の本は Guru がそばにいたほうが絶対効果でるとおもうけどね
#一人で悟りをひらくことはできない、老師が必要
#ここで、ガンガン尋くヨロシ。きっとGuruが答えてくれる :) > cut-sea
#なんで foldl とか foldr とかつかうのー、とか、意味あんのこれ、とかそういうのに、なぜか圏論が潜んでいる
#モナドはどうでもいい
#おっ
#おっとこれから移動。おちます。
#いってらっしゃい
#む、iPhoneから書き込めん
#と、思ったら最後の書き込みだけ成功してた。なんでだ……
#ちょっと前の話だけど、「Haskell 処理系は、ソースを、右のような point-free style になるようにできるだけ前処理しています」というのが、lambda-lifting を指しているのであれば、少なくともGHCはやらないですよ。> ikegamiさん
#他の処理系のことは覚えてないけど。
#いや、lambda-liftingではないか。でも、いずれにしてもそんな処理をしているというのは初耳。
#7月2日出したメールが ikegami@狂人科学者さんのところからだけ今頃 addresses had permanent fatal errors で返ってきた。
#そういえば、ICFPCのときにチームパスワード送ったときも、それで返ってきてたなぁ。
#あと、「GHC は hybrid かつ富豪的な方法をとっていてコンパイル時に両方確保している」というのも、私の知る限り違うかと。
#eval/applyモデルでは、arity不明な関数を呼び出す際に、関数呼び出し側で動的に関数のarity情報を取り出して、それに応じた呼び出し(もしくはPAPクロージャの作成)をする、という話と混同しているのではないかという気が。
##発言の Permalink をペーストしたらその内容に展開してほしいかも > Chaton
#調べた: lambda-lifting: ローカルな関数をグローバルな関数に変換すること。そのとき、外側の関数で bind されてた引数を自分で受け取るようにする。 http://www.haskell.org/haskellwiki/Lambda_lifting ##たしかに「関数呼び出し側で動的に関数のarity情報を取り出して、それに応じた呼び出し(もしくはPAPクロージャの作成)を」してる雰囲気
#むー、GHC のソース読むしかないのか。何度か読んだことあるけど rts のコードばっかり読んじゃうんだよな
#そのあたりの話は Making a fast curry: push/enter vs. eval/apply for higher-order languages に全部書いてあるので、こっちを読んだ方が早いと思います。
#フォローありがとうです
#あれー、やっぱりメール ML に流れてないのかー
#なんかおかしいと思った
#む、あと私の誤解も解いてくれてなによりです
#メールはおかしくなってるな、gmail のアカウントに切り替えようか、いい加減
#その時期がきたとはうすうす感じていた
#gmail から送信したら同じ内容のテキストファイルが添付されたようで、意味が分からない
#が、ML には届いたようだ
#これまでかつて経験したことのないような筋肉痛