【发布时间】:2011-11-26 16:21:19
【问题描述】:
很明显,为什么想要懒惰的函数式编程语言需要是纯的。我在看相反的问题:如果一种语言想要纯粹,那么懒惰有很大的优势吗? Haskell 的一位设计师提出的一个论点是,它消除了诱惑。也许吧,但我正在尝试权衡更具体的优势。
鉴于你想做函数式编程,有哪些用例可以让内置的惰性让你更清晰、更简单或更简洁地表达事物?
简单地说:为什么懒惰如此重要,以至于您想将其构建到语言中?
(我正在寻找更面向应用程序而不是演示的用例 - 我知道您可以通过过滤无限的自然数列表来生成无限的素数列表,但是谁在午餐前写了十次那个...)
【问题讨论】:
-
这是一个有趣的话题,但是您以一种相当不幸的方式提出这个问题,本质上是在请求人们可以想象惰性评估有用的任何场景。如果您正在设计一种语言,您最好专注于您正在尝试做出的具体决定,并在权衡选项时请求帮助,以便您做出明智的选择。
-
我不知道你是否会在这里得到好的答案,这个问题更多是针对编程语言设计人员而不是程序员。这是site about computer science 会更好地解决的问题。我推荐文章cited on Wikipedia(不是 WP 文章本身),尤其是“为什么 FP 很重要”。
-
rwallace:基于@Gilles 的编辑,我进一步修改以强调问题懒惰是一个内置功能(使用示例来说明而不是示例作为最终目标),并且在假设这是可以接受的情况下重新打开。如果您不同意,请讨论。
-
很好,谢谢,我同意编辑,他们澄清了问题。至于维基百科上引用的文章,它们当然包含很多有用的信息,但如果它们包含很多关于懒惰作为一种语言特性的实际用例的讨论,我就错过了。
标签: programming-languages functional-programming language-design lazy-evaluation