10 おそらく、Haskellのパフォーマンスの問題の主な原因は、プログラムが無制限の深さのサンクを誤って構築した場合です。これにより、評価時にメモリリークと潜在的なスタックオーバーフローの両方が発生します。古典的な例はsum = foldr (+) 0Haskell での定義です。 遅延言語を使用するプログラムでこのようなサンクの欠如を静的に強制する型システムはありますか? これは、タイプシステム拡張を使用して他の静的プログラムプロパティを証明するのと同じ難易度であると思われます。 type-theory functional-programming program-verification — jkff ソース
4 プッシュ値計算による Levyの呼び出しは、値とそのサンクを区別します。vtype tyの値の場合、計算にthunk vはtypeがありU tyます。LindleyとMcBrideのFrank言語は、CBPVに触発されており、Haskellとは異なり、Frankは厳密ですが、計算と値を明確に区別しています。 — ドミニク・マリガン ソース