Structure and Interpretation of Computer Programs - 2nd Edition (MIT)的笔记(36)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • 大句哥哥

    大句哥哥 (make pie, or invent universe)

    人类的活动大抵是离不开规划(program)的. 这要求, 首先心中有数, 其次执行有力. 若将规划编为一组供由计算机执行的离散符号, 可谓编程(我的理解). 易得: * => 程序设计是一种心智活动. * => 程序是一种媒介 To take advantage of the unsurpassed flexibility of this medium requires tremendous skill‑technical, intellectual, and esthetic. - Marvin Minsky 程序设计中牵涉到的3类对象: 人...

    2014-12-24 08:35   4人喜欢

  • 邻家のR君

    邻家のR君 (Hello world)

    In section 5.5 we will study a simple compiler that translates Scheme programs into sequences of instructions that can be executed directly with the registers and operations of the evaluator register machine.牛逼哄哄啊。

    2012-09-20 09:40

  • [已注销]

    [已注销]

    本节的核心在于“帧”(frame)以及“环境模型”(environment Model)下调用过程的的两条规则。 一个帧就是记录了绑定关系的一张表。它还记录了“包含”自身的那个环境。可以把帧之间的关系看做树,而“全局”就是根节点。 对一个符号求值,就在当前环境的帧里面查找,如果没有,则沿着这棵树往上,以此类推,直到全局环境。 因而在一个环境中绑定的符号,如果在所包含的环境中也被绑定,则在那个环境中对其求值时不会顺...

    2012-09-16 15:34   1人喜欢

  • [已注销]

    [已注销]

    一个对象的行为如果受到其自身历史的影响,则说它是“有状态的”。例如从一个银行账户取100元,可以取出100元——如果余额足够,也可以取不出——余额不足。这取决与该账户建立至今的所有交易。为了刻画状态,需要状态变量——余额。 对象的状态并非独立属性。对象间的交互会引发其变化,因而存在对象的“耦合”,比如从一个账户到另一个账户的转账影响两个账户的余额。大型系统中,将相紧密耦合的对象组织成子系统,而各个子系...

    2012-09-15 11:44   1人喜欢

  • 邻家のR君

    邻家のR君 (Hello world)

    MIT的视频课程提到了metalinguistic abstraction,也就是元语言学的抽象。Wiki的解释如下 举例来说:为一个机场建模,面向过程(C语言)的程序员会建造一个数据的结构体来表示机场的元素,还会建造函数去操纵这些结构体;面向对象(C++)的程序员会建造一个具有特定方法的对象去表示元素和他们的行为;函数式(Scheme)程序员会创建既表示机场中的元素也表示他们的行为的函数解决问题;而元语言程序员会通过创造一个有自己的基..

    2011-09-30 11:06   1人喜欢

  • AliyahYao

    AliyahYao (好奇,所以不设限)

    keep fun ! Don't feel as if the key ... is only in your hands. what's in your hands, i think and hope, is intelligence: the ability to see the machine as more than when yo were first led up to it, that you can make it more. —— for myself and for your all if art interprets our dreams, the computer executes them in the guise of programs! Keep on myself ! Finally you can Fortran for scientific a...

    2018-12-27 16:15

  • Terence's

    Terence's

    大概读完4.4,之前卡在了implementation那里,因为没有看到函数调用的例子,所以没有一个直观的理解,没看懂find assertions和apply-rules什么时候被调用。现在大致有个思路了。 qeval处理combination和primitives。means of combination也就是说存在一个special qproc,比如conjunction, disjunction, negation. primitives在这里就是simple query。 simple query知道第一个query不是rule,直接调用find assertions。后面的que...

    2018-11-29 17:37

  • Terence's

    Terence's

    Amb evaluator 的特点是用continuation继续操作。如果成功的话,函数本身的参数会被传给success continuation 处理(虽然听起来有点乱),success continuation 里包含了函数调用者期望的行为。 比如说,analyze-application里面,fproc是第一层success continuation的argument,(get-args ...)是第二层success continuation的argument。第二层success continuation把这两个arguments apply到execute-application上。

    2018-11-25 22:41

  • Xinyi Li

    Xinyi Li

    4.4从介绍这种语言到讲解它的解释器实现大概用了60多页的篇幅,然而给我的感觉是实现细节仍然很多地方写的并不是很细,毕竟这是完全不同于前面介绍的基于Lisp的变体,而是从世界观上看完全不太一样的语言,重起炉灶来描述总有不那么详尽有所遗漏的地方,不过不必纠结于此,这部分内容其实没有太大的现实意义,prolog和其他基于Lisp的logic programming尝试几乎也都胎死腹中了,整个logic programming方向现在也没有什么研究热度...

    2018-11-24 21:53

  • Kevin

    Kevin (定力如磐,行者无疆)

    一直感觉 lisp 很强大,很灵活,但总说不清所以然来。如果一个知识点我不能用最简单语言解释,说明我没有掌握透彻。 为了搞懂别人在讨论编程语言的时候在讲什么,我又再次拿起这本书。 接下来我总结一下重看这几个章节的一些收获。 - 为变量命名,就是一种抽象,把概念提高了另一个层次。在更高层次抽象,写出来的代码更通用人,就像一个哲学原理通用于其他科学一样。 - 跟变量一样,写一个函数,本质上是对一段过程 (procedure...

    2018-04-02 08:30

<前页 1 2 3 4 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

Structure and Interpretation of Computer Programs - 2nd Edition (MIT)

>Structure and Interpretation of Computer Programs - 2nd Edition (MIT)