- 内容提要
- 序 1:程序里的世界
- 序 2:最后一层表象
- 关于本书
- 致谢
- 引言:简单的本源
- 篇一:计算系统
- 第 1 章 数,以及对数据的性质的思考
- 第 2 章 逻辑
- 第 3 章 抽象
- 篇二:语言及其面临的系统
- 第 4 章 语言
- 第 5 章 从功能到系统
- 篇三:程序设计的核心思想
- 第 6 章 数据结构:顺序存储
- 第 7 章 数据结构:散列存储
- 第 8 章 执行体与它在执行过程中的环境
- 第 9 章 语法树及其执行过程
- 第 10 章 对象系统:表达、使用与模式
- 篇四:应用开发基础
- 第 11 章 应用开发的背景与成因
- 第 12 章 应用开发技术
- 第 13 章 开发视角下的工程问题
- 第 14 章 应用程序设计语言的复杂性
- 篇五:系统的基础部件
- 第 15 章 分布
- 第 16 章 依赖
- 第 17 章 消息
- 第 18 章 系统
- 篇六:系统的基本组织方法与原理
- 第 19 章 行为的组织及其抽象
- 第 20 章 领域间的组织
- 附一:主要编程范式 及其语言特性关系
- 附二:继承与混合,略谈系统的构建方式
- 附三:像大师们一样思考——从 UML 何时死掉 谈起
- 附四:VCL 已死,RAD 已死
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
3.3 函数式 计算范式的核心,正好是消除这个 = 号
然而我们知道,“将数置于存储单元”这样的事情并不是计算所必须的——它只是“计算结果的表示法”。因此我们将这个部分从代码:
var aNum = 0
中抽去。则运算部分可以表示为:
= 0
这个“运算部分”——作为整体来理解——的具体内容有两种可能:对于计算来说,表明“数0”的方法,就是一个0,或将之表示为一个运算f()的结果。设f用 equ0
来标识——既然“运算部分”整体可以理解为一个标识,那么我们也可以换一个标识来表示这个抽象:
1 2 3 |
|
既然上述 equ0
是一个计算过程,那我们可能通过有限的步骤来完成这一计算 2 。亦即是说, equ0
仅仅关注该标识与其含义的确切关系,其具体指代为 return 0
,或者是某个耗时有限的计算过程,但并不是这个抽象本身所关注的。
现在,我们提出最后一个推论。既然 equ0
可以指代任意有限的计算步骤,那么它必等价于图灵机的“顺序逻辑”中所有步骤;既然 equ0
可以指代图灵机所有的顺序步骤,则必然能指代顺序步骤的两种特例:分支与循环;既然 equ0
既可以指代计算的要素“数”,又可以指代计算的要素“算”,还可以指代描述正确计算所必须的逻辑,那么 equ0
本身——在概念抽象上——必然等同于一个完整的计算系统。
这就是“函数式”计算范式的基本抽象。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论