笔记"/>
Scheme R5RS解读笔记
2012-12-23 R5RS Revision 5 Report on the Algorithmic Language Scheme 即Scheme标准的第五版我打算在毕业前,以这个语言标准作为研究的重点。这么小众的语言, 好怕研究多了没饭吃哦!
还是每天三个个小时的Erlang,一分钟都不能缺。3 * 30 * 5 = 450 小时 掐指头算你你能干点儿啥吧!
Mit-scheme ref 上 写着:
(equal? (lambda (x) x)
(lambda (y) y)) ) à unspecified
而在mit-scheme 9.1 上运行, 却得到 #f, 甚至
(equal? (lambda (x) x)
(lambda (x) x)) ) à #f
难道是认为任何procedure都是不同的。
4, 简单易学,
Dec 10th
好了,我现在要做的事情就是:标准已经有了,根据标准写出程序。(而且还有案例可以参考)
文档的书写, (一切要有理有据,有计划而行)
1, 数据结构是基础,复合数据类型一定要完成。否则对象之类的东西没法进行了。
2, Lisp中List是关键,对其各种操作优先实现
3,函数的定义
control feature
eval & apply, REPL 的实现
尾递归化
大问题:
GC, 我该怎么去实现呢?
debug 功能能有时间完成吗?
error怎么处理?
算了,先按照这个开始做吧。要想完成工作,方法只有一个: 现在就开始动手。
macro是高级话题,最后实现。
io功能,一年内,估计我是没有能力做的。 错了,这个应该好做,用C实现嘛,屏蔽了底层的细节,不是吗?
Object 的继承 更是高级特征, (话说我以前怎么这么笨,一上来就要实现Lisp的面向对象特性)。
不加点东西进去的话,就有点没有创新性了, 好吧,争取把面向对象实现了。我靠,你有那么多时间吗?
expression 还有type?怎么理解?
今日总结:
1, R5 只有 50页, MIT-scheme-ref 却有360也, 这就是规范和实现的差别。
2, 刚看了MIT-scheme-ref, 要实现我的”Unknown” lisp interpreter, 基本上会涉及到Introduction to Algorithms 中大部分内容。在毕业之前还是能对数据结构和算法稍有了解的。
3, 必须要选择两到三个Scheme开源项目,最好是MIT-scheme,guile的, 要阅读足够的代码,要有足够的输入,否则这指尖的经验不够啊。
[ 主页]
更多推荐
Scheme R5RS解读笔记
发布评论