类型系统可防止与惰性相关的内存泄漏?


10

Haskell中性能问题的主要根源可能是某个程序无意间建立了一个无穷大的深度-这在评估时会导致内存泄漏和潜在的堆栈溢出。经典示例是sum = foldr (+) 0在Haskell中定义的。

是否有任何类型系统在使用惰性语言的程序中静态强制缺少此类重击?

似乎与使用类型系统扩展来证明其他静态程序属性(例如某些类型的线程安全性或内存安全性)的难度在相同的数量级上。

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.