计算机程序的构造与解释
文章平均质量分 58
emil_sissi
这个作者很懒,什么都没留下…
展开
-
3.1.1 局部状态变量
一旦在语言中引入了赋值,代换模型就不再适合作为过程应用的模型了,新的模型是环境模型。练习3.2:(define (make-monitored func) (let ((count 5)) (define (call n) (begin (set! count (+ 1 count)) (func n))) ;;(define (reset!) (set! count 0))原创 2005-02-18 14:27:00 · 669 阅读 · 0 评论 -
3.3.1 变动的表结构
使用eq?来比较表结构是否共享,(eq? x y)。eq?实际上比较的是x,y的指针是否相同。下图,z1->((a b) a b), z2->((a b) a b),好像没有区别。 实际上,(eq? (car z1) (cdr z1))-->#t, (eq? (car z2) (cdr z2))-->#f我如果(set-car! (car z1) wo原创 2005-02-18 16:24:00 · 685 阅读 · 0 评论 -
2.4.3 数据导向的程序设计和可加性
这里带入了“数据导向的程序设计方式”,这种方式适合于处理某种数据(这里是复数)有多种表达方式,而带来的问题。前面的2.4.2中采用的是基于类型的显示分派,它采用一集过程作为复数算数与两个表示包之间的界面,这种发式有两个弱点:1,每个过程都必须知道复数的所有表达方式;2,命名困难。两弱点的根源是这种基于类型的显示分配不具有“可加性”。数据导向的程序设计,把所有的针对复数的操作,按照不同的类型和操原创 2005-02-19 12:37:00 · 766 阅读 · 0 评论 -
How to use Edwin
how to use the Edwin1,if there is no META or EDIT key,Alt is that key.2,to end the session, C-x C-c.3,C-v ,to the next screem4,C-g will quit what it was doing and allow you原创 2005-02-22 16:24:00 · 828 阅读 · 0 评论 -
3.3.3 表格的表示
表格的作用就是存储信息。在表格中,信息的形式以(cons x y)的形式(叫做记录)保存,x是关键字,用来标记信息,而y就是存储的信息。在一维表格中,信息只要通过一次索引就可以获得(通过索引x),而在二维表格中,需要两次(首先索引获得子表格,然后在子表格中索引x)。不管是一维表格还是二维表格,都有骨架,骨架是以*table*打头的表(list,不是queue),如下表中的骨架有三个骨架序列,第原创 2005-02-18 18:19:00 · 660 阅读 · 0 评论