方案鸡实现,子环境脚本加载

时间:2014-11-19 16:45:52

标签: lambda scheme chicken-scheme

背景

我正在使用方案鸡实施。最新版本(4.9.0.1)。

我正在尝试在名为arithmetic.scm的文件中实现关于有理数,复数和修复精度数的通用算术系统。

但对于复数,我也为矩形和极坐标表示设计了一个通用算术系统,我决定在名为complex.scm的文件中编写复数的代码。

问题

因此,当我尝试将complex.scm加载到文件arithmetic.scm中时,我发现某些函数在两个文件中都具有相同的名称,所以我想使用lambda将前者包装成一个子环境并使用属性列表从那里注册运算符。但是,load命令只能将脚本加载到全局环境中,无论它在何处写入。我想知道,除了重命名函数或将所有代码从complex.scm复制到lambda函数之外,我还有其他选择。非常感谢!

1 个答案:

答案 0 :(得分:0)

你应该确实使用模块系统来解决这种情况,正如Chris Jester-Young所说。

但是,你见过numbers egg吗?它增加了完整的数字塔支持(包括有理数,任意大整数和复数)。这是目前可以单独安装的扩展,但它(暂定)将被纳入下一个主要版本(CHICKEN 5)。

完全披露:我是数字蛋的当前维护者。