显然,可以实现 Haskell 以便它热切地评估而不改变语言的语义。如果这是真的,那么如何处理无限数据结构?
http://csg.csail.mit.edu/pubs/haskell.html
因此,大量时间用于创建和销毁暂停的计算(thunk)。很多时候,这些计算非常简单,以至于评估它们同样容易。Faxen 和其他人已经使用静态分析来揭示这种渴望的机会。相反,我们建议在任何地方都使用渴望,同时使用允许我们在程序过于渴望时恢复的机制。
关键是“如果我们的程序过于急切,我们有恢复机制”。这些机制是什么?它们如何允许无限的数据结构和我一直相信的惰性求值的其他方面在热切的语言中是不可能的?