在“鸡”里,它看起来像我可以(use srfi-9),但在诡计中,它看起来像你说的(use-modules (srfi srfi-9)),在球拍中它是(require srfi/9)。是否有一个标准化的use-module表单应该可以跨所有方案实现工作(以便我可以编写可移植代码)?
发布于 2014-02-16 15:34:07
是的,在R6RS和R7RS中,请使用:
(import (srfi …))import是这方面的“标准表单”。问题是…可以依赖于实现。所以问题被移到了一个层次。我见过:
(import (srfi :0))
(import (srfi srfi-0)在不同的实现中。
发布于 2014-02-16 15:37:56
对于R6RS和R7RS,有一个加载库的方法,所以它确实应该是可能的。我知道你可以做(import (srfi :9)),它在Ikarus和球拍中同样有效。我不确定是否存在命名约定的标准,因此在其他实现中可能会有所不同。您可能需要为某些实现制作包装器。
在R5RS中,您将不得不撕开引用实现并使用load。这根本不会使用实现优化的代码。我见过一些项目,这些项目使特定于实现的启动文件能够利用它们所支持的内容,并为那些无法获得最佳性能的人添加代码。
https://stackoverflow.com/questions/21811920
复制相似问题