haskell - 如何模仿懒惰

标签 haskell language-agnostic programming-languages erlang lazy-evaluation

我正在观看对 John Hughes 的采访,当他从 Haskell 切换到 Erlang 时,有人问他是否怀念懒惰。作为回答,他说是的,并且他使用工具来“模仿”它。
我的问题是:如何用严格的语言模仿懒惰?很高兴看到主流语言中的酷示例。

最佳答案

通常的技巧是使用 lambda (我猜这将是 fun 在 Erlang 中)。

这是一个使用 Ruby 的示例:

Monad equivalent in Ruby

基本思想非常简单......你可以使用任何你想要变得惰性的表达式,将它包装在一个零参数匿名函数中,然后在你想要强制它时评估该函数。

关于haskell - 如何模仿懒惰,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6338044/

相关文章:

c - printf 语句是如何解释的?

programming-languages - 从代码片段中检测编程语言

haskell - 在 lambda 演算中编码二进制数字

haskell - 为什么在 GHC 7.10 中进行类型检查的代码不再在 GHC 8.0.1 中进行类型检查?

algorithm - 使用 Dijkstra 找到最小生成树?

language-agnostic - 具有相同类型的多个对象的名称

wcf - 网络服务 : Ruby on Rails versus WCF

haskell - 如何在 haskell 中正确输入可选参数

haskell - 如何将 [Maybe Text] 与镜头连接?

language-agnostic - 面向对象范式问题