我写了下面的例子,试图在Chibi方案0.5.3中试验R7RS库:
(define-library (example hello)
(export hello-world)
(import (scheme base))
(begin
(define (hello-world) "hello, world")))
(import (scheme write)
(example hello))
(write (hello-world))不幸的是,在执行时,它会生成一个关于未定义变量的错误:
$ chibi-scheme hello.scm
ERROR: undefined variable: hello-world我肯定是犯了一个简单的错误,但我没有意识到。有什么想法吗?
发布于 2012-05-04 22:02:06
事实证明这只是一个简单的错误-根据用户指南的Module System部分,文件名必须与模块名匹配:
在文件"foo/ bar /baz.sld“中搜索模块(foo Bar baz)的定义。
因此,在这种情况下,需要将上面的库定义添加到example/hello.sld中,并且需要将导入部分提取到一个新的.scm文件中(或REPL上的输入,等等)。
无论如何,这是一个微不足道的解决方案,但可能会对外面的其他人有所帮助。
发布于 2012-11-04 02:04:44
通常,R7RS没有定义如何使库对方案系统可见,也没有定义将定义库与其他方案表单混合在一起的代码的含义。
https://stackoverflow.com/questions/10439782
复制相似问题