Chez Scheme 的 SRFI 实现

SRFI implementations for Chez Scheme

我是 Chez 的新手,考虑到现有的各种维护和未维护的存储库,我只是想弄清楚一些。

是否有一个通常首选的源代码库来获取 R6RS SRFI 库(专门用于 Chez Scheme)?

我知道 https://srfi.schemers.org/ which is good for searching for individual SRFI documentation, and has a tgz of all documentation and some scheme code, but there is no version or release info on the tgz (although the timestamps suggest it's fairly up to date https://srfi.schemers.org/srfi.tgz)。

对于 R6RS,我可以在以下 repo 下找到大多数 SRFI 作为 separate repos,获取所有代码不是很实用: https://github.com/scheme-requests-for-implementation

然后是其他各种repos,例如:

https://github.com/arcfide/chez-srfi

https://github.com/ovenpasta/thunderchez

https://github.com/dharmatech/surfage

https://bazaar.launchpad.net/~scheme-libraries-team/scheme-libraries/srfi/files

唯一最近 activity,幸运的是似乎也以 Chez 为重点,似乎是 chez-srfi 和 thunderchez。

chez-srfi 似乎是最近活跃的,一旦我解决了 运行 link-dirs.chezscheme.sps 的要求,然后将 chez-srfi 目录软链接到 srfi 似乎使用标准导入引用工作 - (import (srfi :N lib)).

也就是说,我使用 (import (srfi sN lib)) 使用 Thunderchez 取得了类似的成功。

我完全不知道我使用的是哪个存储库,前提是它易于使用并积极保持最新。是否有明确的首选选择,或者是基于个人意见的更美观的选择(在这种情况下,我会形成我自己的而不是在这里问它!)。

诚实的答案可能是 "no" - 没有一个 srfi 版本是社区首选的。

但是(有点)回答我自己的问题,虽然我还不能说它是事实上的标准,Akku 是 Scheme 的包管理器和虚拟环境管理系统远远领先于任何替代方案,并且得到积极开发。它不是 srfi 的单独实现,而是一种通过单个界面安装您需要使用的各种 Scheme 包的方法。

https://akkuscm.org/

它不完全是 venv 和 pip - 但它正在实现。令我惊讶的是,这并没有被更多地讨论,我只是在最初搜索这样的工具后的一段时间才偶然发现它。

您可以获得一个界面来为 R6RS 和 R7RS 拉包,以及一系列 Scheme 实现。

还有Snow,目前只支持R7RS: http://snow-fort.org/

但Akku镜像Snow,同时提供R6RS支持,更加全面。

要回答原始示例的细节 - Akku 在创建新项目时默认安装 chez-srfi(至少在 Chez Scheme 系统上),但也提供 thunderchez 作为软件包。这是否表明 Akku 开发人员的偏好,我将留给 reader 来决定。

最初的问题是关于 Chez 的单个事实上的 srfi 实现,而不是更通用的包管理器。事后看来,这有点没有抓住要点,仅仅是因为我认为单个包管理器(除了 srfi)是不可能的。

所以至少对我来说 - Akku,不仅提供了 srfi 的各种实现,还提供了许多其他软件包,并且在很大程度上回答了我的问题。