Lisp 概览

计算机科学是做什么的?

黑盒抽象: 给一个输入,经过黑盒能得到一个输出,而计算机科学所需要做的就是构建黑盒中的规则,让其能获取到想要的输出,最后我们称封装好规则的黑盒为“程序”

怎么控制系统复杂度?

约定接口:组合使用(抽象)

  • 1 面向对象编程
  • 2 面向过程(操作流)编程
  • 3 定义新的语言
    • 3.1 元语言抽象

计算过程

高阶过程

复合数据

Henderson-Escher 例子

符号化求导系统:引用

模式匹配:基于规则的代换

通用运算符

赋值,状态和副作用

计算对象

流 I

流 II

元循环求值器 I

元循环求值器 II

逻辑式程序设计 I

逻辑式程序设计 II

寄存机器

显式控制求值器

编译

存储分配与垃圾收集