タグ

ブックマーク / qiita.com/phi16_ (1)

  • Blackhole : 無限再帰停止機構 - Qiita

    これはGHCが式を評価していたら無限ループを発生させてしまうことを検出して投げる例外なのですが、勿論全ての無限ループを検出することはできません。 またHaskellでは次のような「無限ループ」は"合法"です : というわけで、どんな無限ループなら「合法なのか」「検出できるのか」、また「どういう機構でこれを実現しているのか」という話を、GHCの実際の評価機構をJavaScriptで1作りながら適当にまとめてみようとおもいます。半分くらいは自分用メモかもしれないです。 情報源としてはSTG論文が主で、それを更に単純化したモデルを考えているため現行のGHCとはかなり異なる処理をしています。ご了承ください。 これを読むことでHaskellコードからCPUの歓声が聞こえるようになるといいなとおもいます。 値の表現 Haskellは遅延評価を行うため、「値」そのものの表現が自明な形では定まりません。遅

    Blackhole : 無限再帰停止機構 - Qiita
  • 1