SICP CONCLUSION

让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 !

祝我能够突破层层代码,找到住在里计算机的神灵!

目录

1. 构造过程抽象
2. 构造数据抽象
3. 模块化、对象和状态
4. 元语言抽象
5. 寄存器机器里的计算

Chapter 3

  • 模块化、对象和状态
练习答案

求值的环境模型

一个环境就是框架的一个序列,每个框架都包含着一些约束的表格,这些约束将一些变量名字关联于对应的值(在一个框架里,任何变量至多只能有一个约束。每个框架还包含一个指向这以框架的外围环境的指针

求值规则
  • 求值这一组合式的各个子表达式
  • 将运算符子表达式的值应用于运算子表达式的值

在求值的环境模型中,一个过程总是一个对偶,由一些代码和一个指向环境的指针组成。过程只能由lambda创建。

(define (square x)
(* x x)) (define square ;;将新的约束square加入框架中
(lambda (x) (* x x)))
  • 将一个过程对象应用于一集实际参数,将构造出一个新框架,其中将过程的形式参数约束到调用时的实际参数,而后在构造起的这一新环境的上下文中求值过程体。这个新框架的外围环境就是作为被应用的那个过程对象的一部分的环境

  • 相对于一个给定环境求值一个lambda表达式,将创建起一个过程对象,这个过程是一个序对,由该lambda表达式的正文和一个指向环境的指针组成,这一指针指向的就是创建这个过程对象时的环境

最新文章

  1. EC笔记:第4部分:18、接口正确使用,不易被误用
  2. css3 圆角
  3. MongoDB固定集合(capped collection)
  4. 【CMD】
  5. Beta版
  6. [FFmpeg] ffmpeg 常用命令
  7. Drupal网站开发实践--自定义购物流程
  8. AsyncTask和Handler对比(转)
  9. MAT(Memory Analyzer Tool)工具入门介绍
  10. python 练习 19
  11. Think Python - Chapter 15 - Classes and objects
  12. .frm文件
  13. iOS 网络编程
  14. javascript 基础学习整理
  15. C primer plus 读书笔记第十一章
  16. Fuel 5.1安装openstack I版本号环境
  17. IOS 中openGL使用(使用基准图快速制作滤镜)
  18. Scikit-Learn与决策树
  19. windows 本地构建hadoop-spark运行环境(hadoop-2.6, spark2.0)
  20. java 分布式id生成算法

热门文章

  1. 4-6 R语言函数 排序
  2. JFinal 部署在 Tomcat 下推荐方法(转载)
  3. mysql root密码忘记重置及相关注意事项
  4. smtp ssl模式邮件发送与附件添加
  5. POJ3268(Dijkstra_邻接矩阵)
  6. Nginx Location模块
  7. ACM1001:Sum Problem
  8. C语言之随机数函数( rand() )的使用方法
  9. CF GYM 101196 G That’s One Hanoi-ed Teacher
  10. CF 700 E. Cool Slogans