Chibi Scheme - 简单的定义库示例不起作用

时间:2012-05-03 21:48:09

标签: scheme chibi-scheme r7rs

我编写了以下示例,试图在Chibi Scheme 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

我必须犯一个简单的错误,但不要看到它。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

原来这是一个简单的错误 - 根据用户指南的Module System部分,文件名必须与模块名称匹配:

  

在文件" foo / bar / baz.sld"中搜索模块的定义(foo bar baz)。

因此,在这种情况下,需要将上面的库定义添加到example/hello.sld,并且需要将导入部分提取到新的.scm文件中(或者在REPL上输入等)。

无论如何,这是一个微不足道的解决方案,但也许对那里的其他人有帮助......

答案 1 :(得分:2)

通常,R7RS没有定义如何使Scheme对Scheme系统可见,并且没有定义将define-library与其他Scheme表单混合的代码的含义。