【问题标题】:Call-by-need and call-by-name reduction relation semantics按需要调用和按名称调用减少关系语义
【发布时间】:2017-10-29 12:16:14
【问题描述】:

在尝试总结我对 lambda 演算的知识时,我了解到我对按值调用非常熟悉,但我从未见过 сall-by-need 缩减语义。我知道定义,但如果能看到确切的含义,那就太好了。

这就是我的按需调用和按值调用(不是很详细的描述):

按值调用

小步

  • 价值观

  • β-还原

  • 评估上下文

Big Step(带有闭包和环境)

  • 关闭

  • 环境

  • 减少


点名

小步

  • β-还原

  • 评估上下文


我猜还有一大步,肯定和call-by-value很像,不过还是再看一次就好了。

因此,如果有人可以通过按需调用扩展我的列表,我将不胜感激。

【问题讨论】:

    标签: semantics lambda-calculus reduction callbyname call-by-need


    【解决方案1】:

    目前我不能用 Tex 写这个,但主要的是:当使用纯函数时,具有相同参数的函数的评估值将始终相同,所以当你在同一个身体中时,你可以使用评估后的引用而不是再次评估它。

    有关详细信息,请参阅: http://repository.readscheme.org/ftp/papers/plsemantics/felleisen/jfp96-af.pdf

    【讨论】:

      猜你喜欢
      • 2021-09-11
      • 2015-06-07
      • 1970-01-01
      • 1970-01-01
      • 2013-10-02
      • 2017-02-07
      • 1970-01-01
      相关资源
      最近更新 更多