会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Scheme博客
博客园
首页
新随笔
联系
管理
订阅
2014年10月11日
slime for mit scheme
摘要: 很多人写过 Scheme 开发环境的设置。但 Scheme 毕竟是一种 Lisp ,是 Lisp 就应该用 Slime。Chicken Scheme 有一个扩展叫 Chicken Slime, 安装非常简单,但功能极差。安装之后几乎没用。Slime本身带的,contrib目录下的swank-kawa...
阅读全文
posted @ 2014-10-11 22:00 ysc
阅读(682)
评论(0)
推荐(0)
2014年10月10日
关于length
摘要: 写Scheme代码时,经常要判断表的长度。长度为0时一个操作,长度为1时,另一个操作,长度为2时,第三种操作 ...。最容易想到的方法是(define (length=? m l) (= m (length l)))但这个 length=? 很低效。它要先计算表的长度n。length 的复杂度是O...
阅读全文
posted @ 2014-10-10 12:25 ysc
阅读(296)
评论(0)
推荐(0)
2014年10月9日
为mit scheme添加for循环语句
摘要: Mit-Scheme不支持syntax-case, 只能用它的er-macro-transformer来编写。Mit-Scheme的宏系统比较低级,不支持模式匹配和literal。使用pmatch能得到一个可用的模式匹配,为了简洁这里使用了pmatch,没有pmatch也可以编写同样的宏,但啰嗦一点...
阅读全文
posted @ 2014-10-09 20:07 ysc
阅读(870)
评论(0)
推荐(0)
为scheme添加for循环语句
摘要: 有三个辅助关键字in, from和to能够 break和continue语法有三种(for n in '(1 2 3 4 5 6 7 8 9 10) (if (> n 8) (break #f)) (if (even? n) (continue #f)) (display n) (displ...
阅读全文
posted @ 2014-10-09 18:35 ysc
阅读(760)
评论(0)
推荐(0)
公告