10 Haskell中性能问题的主要根源可能是某个程序无意间建立了一个无穷大的深度-这在评估时会导致内存泄漏和潜在的堆栈溢出。经典示例是sum = foldr (+) 0在Haskell中定义的。 是否有任何类型系统在使用惰性语言的程序中静态强制缺少此类重击? 似乎与使用类型系统扩展来证明其他静态程序属性(例如某些类型的线程安全性或内存安全性)的难度在相同的数量级上。 type-theory functional-programming program-verification — k source
4 列维通过推入式价值演算的电话来区分价值和价值。对于v类型ty的值,计算的thunk v类型为U ty。受CBPV启发,Lindley和McBride的Frank语言也使计算和值之间的区别更加明确,尽管与Haskell不同,Frank是严格的。 — 多米尼克·穆里根(Dominic Mulligan) source