如何模仿懒惰

Hai*_*Hai 7 language-agnostic erlang haskell programming-languages lazy-evaluation

我正在看John Hughes的采访,当他从Haskell转到Erlang时,他被问到是否错过了懒惰.作为答案,他说是,他用工具"模仿"它.我的问题是:如何用严格的语言模仿懒惰?很高兴在主流语言中看到冷却的例子.

Nem*_*emo 7

通常的技巧是使用a lambda(我想这将fun在Erlang中).

以下是使用Ruby的示例:

Monad相当于Ruby

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