/SICP-Python

🔨 用Python实现巫师书(the Wizard Book)《SICP》(Hal Abelson等著)的所有示例程序。正在施工🚧中。。。。有空就更,没空就鸽了(づ ̄ 3 ̄)づ

Primary LanguagePythonMIT LicenseMIT

计算机程序的构造和解释(第二版)

📚 FP大法好
天灭过程式 退C保平安
人在做 天在看 赋值语句留祸患
指针乱用天地灭 赶紧重写保平安
诚心诚念SICP好 FP大法平安保
众生都为函数来 现世险恶忘前缘
FP弟子说真相 教你编程莫拒绝
早日摆脱面向过程 早日获得新生
上网搜“九评丹尼斯·里奇”有真相。

Open Source Love

1 简介

本项目为巫师书(the Wizard Book)《计算机程序的构造和解释》(Hal Abelson等著) 中的所有示例程序实现(使用Python)。正在施工🚧中。。。。有空就更,没空就鸽了(づ ̄ 3 ̄)づ

2 目录

  • 第1章 构造过程抽象
    • 1.1 程序设计的基本元素
      • 1.1.1 表达式
      • 1.1.2 命名和环境
      • 1.1.3 组合式的求值
      • 1.1.4 复合过程
      • 1.1.5 过程应用的代换模型
      • 1.1.6 条件表达式和谓词
      • 1.1.7 实例:采用牛顿法求平方根
      • 1.1.8 过程作为黑箱抽象
    • 1.2 过程与它们所产生的计算
      • 1.2.1 线性的递归和迭代
      • 1.2.2 树形递归
      • 1.2.3 增长的阶
      • 1.2.4 求幂
      • 1.2.5 最大公约数
      • 1.2.6 素数检测
  • 第2章 构造数据抽象
    • 2.1 数据抽象导引
      • 2.1.1 有理数的算术运算
      • 2.1.2 抽象屏障
      • 2.1.3 数据意味着什么
      • 2.1.4 扩展练习:区间算术
    • 2.2 层次性数据和闭包性质[代码讲解]
      • 2.2.1 序列的表示
      • 2.2.2 层次性结构
      • 2.2.3 序列作为一种约定的接口
    • 2.3 符号数据[代码讲解]
      • 2.3.2 符号求导
      • 2.3.3 集合的表示
      • 2.3.4 Huffman编码树
    • 2.4 抽象数据的多重表示 [代码讲解]
      • 2.4.1 复数的表示
      • 2.4.2 带标志数据
  • 第3章 模块化、对象和状态
    • 3.1 赋值和局部状态 [代码讲解]
      • 3.1.1 局部状态变量
      • 3.1.2 引进赋值带来的利益
      • 3.1.3 引进赋值的代价
    • 3.2 求值的环境模型 [代码讲解]
      • 3.1.2 简单过程的应用
      • 3.1.3 将帧看作局部状态的存储库
      • 3.1.3 内部定义