这里用Common Lisp、Haskell等语言。 1.2.请将下面表达式变换为前缀形式: $$ \frac{5 + 4 + (2 - (3 - (6 + \frac{4}{5})))}{3(6 - 2)(2 - 7)} $$ Lisp: Output: 或者: Output: 1.3.请定义一个 ...
分类:
其他好文 时间:
2018-05-05 18:12:53
阅读次数:
163
从去年7月份开始陆续看了想SICP,CLRS,CSAPP和几门相关的公开课以后(因为实力不足,这几本书,几门课都只是通读了一遍),但看完以后写代码的心情就越来越逼迫。 于是买了邹欣老师的《构建之法》和在udacity上选修了一门叫《programming language》的课(主要是用Python ...
分类:
其他好文 时间:
2018-03-17 10:54:31
阅读次数:
162
今天搞完了第二周的全部内容 非常高兴的是许多知识都在sicp中学到过了 其中讨论的SML中的mutation和options 是我现在还没在sicp中看到的概念 对于mutation,课程中比较了JAVA和SML 由于SML中没有mutation所以不用考虑是copy还是引用 scheme中如果用函 ...
分类:
其他好文 时间:
2018-02-22 23:47:34
阅读次数:
201
以前读 SICP ,虽然很有趣,但并没有讲 cons、car与cdr是怎样实现的。今天读 the implementation of functional programming languages ,里面讲到了如何用lambda实现这三个函数,这里给出用 scheme 和 javascript 改 ...
分类:
其他好文 时间:
2018-02-10 23:28:08
阅读次数:
443
YouTube上看到了一个2004年版的SICP讲解 看完解释器那一个视频后,对解释器中的Eval和Apply有了基本的认识于是想开始直接写一个简单lisp的解释器 我的理解是: Eval是来求表达式的值的; Apply 则是用来求函数值的; 什么是表达式 ? atom 或者 a list of e ...
分类:
其他好文 时间:
2017-12-15 00:43:12
阅读次数:
243
1.11 求f(n)=f(n-1)+2*f(n-2)+3*f(n-3) 递归版本 1.12 帕斯卡三角 ...
分类:
其他好文 时间:
2017-12-03 11:35:42
阅读次数:
157
(define (fib n) (cond ((= n 0) 0) ((= n 1) 1) (else (+ (fib (- n 1)) (fib (- n 2)))))) 树形递归:计算步骤 随输入 指数性 增长,空间 随输入 线性 增长. (define (fib n) (fib-iter 1 ...
分类:
其他好文 时间:
2017-11-23 08:31:01
阅读次数:
133
http://blog.csdn.net/on_1y/article/details/42929439 SICP 的第一章初步介绍了与函数(procedure)相关的抽象。 什么是抽象 抽象就是站在一个更高层次上看待问题。在较高的层次上的抽象,可以表达较低层次上一些相同的模式。 我们上小学的时候,刚 ...
分类:
其他好文 时间:
2017-10-12 01:03:11
阅读次数:
158
如何理解高阶函数 昨天开始读 SICP,这本书作为 MIT 所有理工科类学生的公共必修课(类似于咱们的高数),还是挺有价值的,很清楚的解释了一些基本概念,这里先总结一下高阶函数吧。 高阶函数的定义是接受一个函数作为参数,或者返回一个函数的函数。不过这样的解释作为总结也就罢了, 如果用来学习、理解的话 ...
分类:
其他好文 时间:
2017-10-06 18:09:27
阅读次数:
179
1.在scheme中,为了效率,对序对的操作 cons car 和cdr是内部实现的,这里是scheme实现, 其中cons用到了闭包 2.计算列表长度和叶子节点数目 3.Honor规则计算多项式(SICP P80 2.34) ...
分类:
其他好文 时间:
2017-10-04 14:24:58
阅读次数:
145