编程语言
文章平均质量分 71
cyendra
Azarath Metrion Zinthos
展开
-
如何优雅的解释什么是闭包
首先看一段python代码 def fun(): n = [] def res(x): n.append(x) return n return res f = fun() print f(2) print f(3)原创 2014-07-09 17:01:38 · 588 阅读 · 0 评论 -
如何优雅的入门LISP(一)
*其实我不会LISP,以下内容都是我瞎编的*原创 2014-07-12 14:01:01 · 1014 阅读 · 0 评论 -
我终于理解了LISP『代码即数据|数据即代码』的含义
以前我一直不能理解LISP里引用的作用,感觉引用和字符串没什么区别。 比如: > (define (func) 'ok) > (func) 'ok 这里把引用ok当做了函数func的返回值。 但是我在实现函数式汉语编程的时候,我把代码构造成了一个多叉的语法树,这时候对某一段代码的引用,就是不对代码Eval,直接返回语法树的根节点。 类似于: > '(car原创 2014-11-07 22:35:19 · 2775 阅读 · 0 评论 -
RavenScheme简介
RavenScheme简介 RavenScheme使用了一个运行『读入-求值-打印』循环的解释器。该解释器从标准输入反复的读入表达式,对得到的表达式求值,然后打印出结果。 如果用户键入: 【加 1 2】 解释器将打印出3 如果用户键入3 解释器会打印出3 RavenScheme提供一个加载函数,它可以从文件读入并行求值: 【加载 『我的程序原创 2014-11-23 17:04:48 · 737 阅读 · 0 评论 -
《SICP》中的一些练习题
1.16(define (square n) (* n n)) (define (fast-expt b n) (cond ((= n 0) 1) ((even? n) (square (fast-expt b (/ n 2)))) (else (* b (fast-expt b (- n 1)))))) (define (my-expt b n) (defi原创 2015-06-09 16:14:48 · 1125 阅读 · 0 评论