返回介绍

3.3 函数式 计算范式的核心,正好是消除这个 = 号

发布于 2024-12-15 23:01:44 字数 1249 浏览 0 评论 0 收藏 0

然而我们知道,“将数置于存储单元”这样的事情并不是计算所必须的——它只是“计算结果的表示法”。因此我们将这个部分从代码:

var aNum = 0

中抽去。则运算部分可以表示为:

= 0

这个“运算部分”——作为整体来理解——的具体内容有两种可能:对于计算来说,表明“数0”的方法,就是一个0,或将之表示为一个运算f()的结果。设fequ0 来标识——既然“运算部分”整体可以理解为一个标识,那么我们也可以换一个标识来表示这个抽象:

1
2
3
  function equ0() {
    return 0
  }

既然上述 equ0 是一个计算过程,那我们可能通过有限的步骤来完成这一计算 2 。亦即是说, equ0 仅仅关注该标识与其含义的确切关系,其具体指代为 return 0 ,或者是某个耗时有限的计算过程,但并不是这个抽象本身所关注的。

现在,我们提出最后一个推论。既然 equ0 可以指代任意有限的计算步骤,那么它必等价于图灵机的“顺序逻辑”中所有步骤;既然 equ0 可以指代图灵机所有的顺序步骤,则必然能指代顺序步骤的两种特例:分支与循环;既然 equ0 既可以指代计算的要素“数”,又可以指代计算的要素“算”,还可以指代描述正确计算所必须的逻辑,那么 equ0 本身——在概念抽象上——必然等同于一个完整的计算系统。

这就是“函数式”计算范式的基本抽象。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文