函数缓存

SICP在练习3.27中提出记忆法(memoization)这种思想,采用这种思想的过程将前面已经计算的一些值维持在一个局部变量中。当这种过程在求值时,会查询这个局部变量,看看是否曾经计算过。如果找到将直接返回这个值。如斐波那契 (define (fib n) (cond ((= n 0) 0) ((= n 1) 1) (else (+ (fib (- n 1)) (fib »

HAVE YOU READ YOUR SICP TODAY?

SICP围绕抽象这个问题展开了深刻的讨论。 为了更加通俗易懂,我这里使用python来表达(原书使用Scheme) 首先看一个例子,我们如何来表达分数这种数据结构 类 class Fraction(object): def __init__(self, x, y): self.numer = x self.denom = y def __add__(self, other): return »

Ansi Common Lisp 初体验

写在前面的废话 一直以来听闻lisp是一门高大上的语言,许多编程方式是源于lisp,如闭包,lambda ... 但是从来没有实际的去看过这门古老而神秘的编程语言。 但是昨天在偶然的情况下,补了一部名为 全部成为F 的番。浓厚的玛丽苏气息与日本独特的哲学观价值观。总之就是,人物的谈话我并不能听懂。不过最能引起一个码农兴趣的还是这部番剧的 ed 。此 ed 配合了新本格推理的科技元素。 对就是这样, 开始时是 linux 启动画面,然后是各种窗体,还有 ls 列文件 »