【发布时间】:2010-07-21 16:58:15
【问题描述】:
如何创建一个名为 rnrs-modified 的库,它会使以下代码显示“Hello, world!”...?
#!r6rs
(import (rnrs-modified))
(display set!)
甚至这样会更好(实际上可以说更好):
#!r6rs
(import (rnrs) (modified)) ;or (import (modified) (rnrs))
(display set!)
基本上我希望能够在库中重新定义句法关键字(let、lambda、set! 等),然后将该库导入另一个库或顶级程序并使用这些重新定义的关键字。
但是我不断得到这个:
module: identifier already imported from a different source in:
set!
(lib "rnrs/main.ss")
(lib "rnrs-modified/main.ss")
我用于 rnrs-modified 的代码是:
#!r6rs
(library (rnrs-modified)
(export (rename (f set!)))
(import (rnrs))
(define f "Hello, world!"))
有什么想法吗?
更新:我为“mzscheme 模块”找到了this。它不适用于 r6rs 方案,但它提供的功能基本上正是我正在寻找的。 r6rs 方案中provide all-from-except 怎么办?
【问题讨论】: