首页 > TAG信息列表 > SICP

SICP学习感悟

第一章 程序只包含两部分:数据和处理数据的过程 为什么说过程与数据其实没有太大的区分呢?我的理解是过程分为复合过程和简单过程,复合过程可以由简单过程构成,简单过程是加减乘除,加减乘除在LISP都是返回一个数值(说return可能不如说得到一个数值合适),那么过程最终结果是一个数,那么一个

sicp-mit-9

#lang sicp ;;https://www.bilibili.com/video/BV1Xx41117tr ;;https://github.com/DeathKing/Learning-SICP/tree/master/SrtCN ;;第九节 ;;;functional programs encode mathematical truths (define (fact n) (cond ((= n 1) 1) (else (* n (fact (- n 1))))))

SICP 笔记 Lec2b Compound Data Part 3 & Part 4

Lec2b 复合数据Compound Data   Part 3 41" - 56" 从有理数类比到用二维坐标来表示点的位置,而两个点即可表示一个线(向量)。   1. 引入Closure(闭包)的概念 我的理解: 所有的object可以被“完整”地封装,作为其他object的一部分。这个过程可以无穷无尽地进行下去,其所有的性质不会损

86版 MIT SICP lecture 流(一)视频笔记

一、IBM科学计算包中60%的程序本质上内部都会执行的几个流程 视频中,老师提到自己的研究生曾分析过IBM公司的科学计算包的程序代码,其中高达60%的部分其实本质上都在执行以下四个流程:enumerate(枚举)、filter(筛选)、 map (映射)、accumulate(累积)。 课程中老师举了两个过去的课中曾出

SICP:构造过程抽象--面向对象的解释

心智的活动,除了尽力产生各种简单的认知之外,主要表现为如下三个方面:(1)将若干简单认知组合为一个复合的认识,由此产出各种复杂的认知。(2)将两个认知放在一起对照,不管他们如何简单或者复杂,在这样做时,并不能将他们合而为一。由此得到有关他们的相互关系的认知。(3)将有关认识与那些

SICP:构造数据抽象--数据结构中队列与树的解释

现在到了数学抽象中最关键的一步:让我们忘记这些符号所表示的对象。不应该在这里停滞不前,有许多操作可以应用于这些符号,而根本不必考虑它们到底代表着什么东西。 --Hermann Weyi 《思维的数学方式》 构造数据抽象 现在考虑一个完成有理数算术的系统,可以设想一个运算add-rat,以两个

看 SICP 不如先看 The Little Schemer

函数式入门圣经——王垠力荐《The Little Schemer》 除了在知乎看到过一两次,首次正式得知《The Little Schemer》此书则是来自王垠的博客: Dan Friedman 是 Indiana 大学的教授,程序语言领域的创始人之一。他主要的著作《The Little Schemer》(前身叫《The Little Lisper》) 是

SICP 课程总结 & 复习

SICP 课程总结 & 复习 小作文 有赖于那个终极的、伟大的、命定的教务系统,我选上了这门课:SICP,Structure and Interpret of Computer Programs,计算机程序的构造与解释。   作为一门编程课,SICP颇有一种包罗万象的气质:讲授三种编程语言;涉及一众编程范式;更由于冯新宇、李樾两位老师都

sicp-2.2

序对 无类型 (cons 1 2) o / \ 1 2 但是序对本身对于元素的类型是无要求的,它就是一个指针而已。 (cons (cons 1 2) (cons (cons 3 4) (cons 5 6))) o / \ 1 o / / \ 2 3 5 / \ 4 6 列表 当需要一个连续数据的

SICP之1.3中文翻译题目错误

原版题目: Exercise 1.3: Define a procedure that takes three numbers as arguments and returns the sum of the squares of the two larger numbers. 中文翻译书籍: 翻译错误,题目正确为: 请定义一个过程,它以三个数为参数,返回其中较大的两个数平方之和。 网上的参考答案为: (de

SICP 习题解 第二章

原文链接:http://www.cnblogs.com/richard-g/p/3589813.html 计算机程序的构造和解释习题解答 Structure and Interpretation os Computer Programs Exercises Answer 第二章 构造数据抽象 练习2.17 (define last-pair-1 (lambda (input)

python延迟执行

要在Lisp中实现streams as delayed lists,使用Lisp宏是recommended. (defmacro cons-stream (a b) (cons ,a (delay ,b))) (defmacro delay (expr) `(memo-proc (lambda () ,expr))) 用Python和Perl的方式做同样的事情是什么? 编辑.是否可以使用这样一个很酷的结构作为流 (