zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Scheme interpreter in clojure

2023-03-14 22:28:54 时间
   昨天晚上用clojure搞了个scheme解释器,基本上是sicp里的解释器的clojure翻译版本,可能唯一值的一提的是对transient集合的使用,实现副作用的set!。总共代码包含注释才366行,支持的feature包括

Feature Supported Comment
define yes
lambda yes
variable lookup yes
primitive procedure evaluation yes
compound procedure evaluation yes no tail recursion yet
if yes
cond yes
let yes

let* yes
no named let* yet
letrec no
begin yes

set! yes

quote yes
quasiquote no
unquote no
delay no
define-syntax no

       支持的primitive procedure包括常见的四则运算、car/cdr、list以及display、newline等。代码放在了github上:https://github.com/killme2008/cscheme,有兴趣的可以玩玩吧。
文章转自庄周梦蝶  ,原文发布时间2011-01-24