Chicken Scheme是否支持复数?如果是这样,为什么我会收到此错误?

时间:2012-11-22 01:55:11

标签: syntax scheme runtime-error complex-numbers chicken-scheme

我刚刚开始学习一个小方案,而我正在使用Dorai Sitaram的在Fixnum Days中自学方案。在上述工作中说明:

  

方案编号可以是整数(例如42)......或复数( 2 + 3i )。

强调我的。请注意表格。

使用我迄今为止所教授的原则,我尝试编写一些处理不同类型数字的不同程序。我最后写了这个非常简单的片段来测试复杂的数字:

(begin
  (display 3+4i)
  (newline)
)

codepad.org(使用MzScheme)和Ideone.com(使用guile)上进行测试,效果很好。

现在,当我使用Chicken Scheme(我的本地开发环境)尝试它时,它编译得很好,但是当运行时,崩溃并给我错误:

Error: unbound variable: 3+4i

  Call history:

  main.scm:2: 3+4i      <--

显然有一个未绑定的变量错误,但在我有限的Scheme中,我甚至不知道这意味着什么(还有。)

还有其他人经历过这个吗?我知道Chicken Scheme应该是非常符合标准的,因此它似乎不支持像这样简单的东西。我用Google搜索了他们的文档,但我找不到具体的内容(虽然我认为有一个外部复杂的数字库可用,所以也许这是一个暗示。)

如果有人有任何建议,我们将不胜感激。提前致谢! :)

1 个答案:

答案 0 :(得分:7)

我认为你需要安装numbers扩展来处理Chicken Scheme中的复杂数字。这样做:

> chicken-install numbers

不要忘记加载它:

(use numbers)