Scheme R5RS解读笔记

21 篇文章 0 订阅
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的, 要阅读足够的代码,要有足够的输入,否则这指尖的经验不够啊。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值