我听说有一种 GHC 的分支可以默认编译成严格模式,但可以通过注释启用惰性模式。(如果我没记错的话,他说一个金融公司开发了这个分支,并将其用于生产代码中。)这是真的吗?我找不到它。
此人还建议认为严格求值比惰性求值更实用(默认情况下),而这种观点越来越被接受。
我在 Haskell 邮件列表中没有确认这一点,但可能是因为那里的人们并不是那么注重实践?
我在严格 Haskell 中找到的都是明确的东西,比如 $!
和 rnf
。虽然我觉得惰性求值非常优雅,但我想在 Haskell 中开发一个程序,避免空间泄漏并获得可预测的性能。
免责声明:我并不是在为严格性辩护,我只是想看看严格的 Haskell 或类似的东西。