Bud是一个使用Java实现的类Scheme的Lisp方言解释器,简单、轻量,能够十分方便地嵌入Java程序中使用。
Bud实现了R5RS中大多数的特殊形式(Special Form)以及内置函数,其中包含:quote、lambda、if、cond、and、or、car、cdr、eq?以及类型判断和算数函数。
使用Bud需要Java 7及以上版本,编译需要Maven 3.0.4以上。
特性:
- 一等函数(first-class function)
- 普通变量与函数共享同一命名空间(lisp-1)
- 尾调用优化(TCO)
目前支持的数据类型有:
- 布尔(如,#f)
- 字符(如,#\a)
- 十进制数字(如,100)
- 字符串(如,"hello")
- 标识(如,'foobar)
- 列表(如,'(symbol "str" 100))
- 函数(如,(lambda x (* 2 x)))
评论