我是Chez的新手,只是想了解一下已有的各种维护和非维护存储库。
是否有一个通常首选的源存储库来获取R6RS SRFI库(专门用于Chez Scheme)?
我了解https://srfi.schemers.org/,它非常适合搜索单个SRFI文档,并且包含所有文档的tgz和一些方案代码,但是tgz上没有版本或发行信息(尽管时间戳显示它是相当最新的https://srfi.schemers.org/srfi.tgz)。
对于R6RS,我可以在以下回购下找到大多数SRFI作为 separate 回购,这对抓取所有代码不是很实际: https://github.com/scheme-requests-for-implementation
然后是各种其他存储库,例如:
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
仅有的最近活动的人,而且幸运的是似乎也关注Chez,似乎是chez-srfi和thunderchez。
chez-srfi似乎是最近活动的版本,一旦我确定了运行link-dirs.chezscheme.sps
然后将chez-srfi
目录软链接到srfi
的要求,它似乎可以使用标准导入工作参考-(import (srfi :N lib))
。
那表示我在(import (srfi sN lib))
和Thunderchez上也取得了类似的成功。
我完全不知道我使用哪个回购协议,只要它易于使用并积极保持最新状态即可。是否有一个明确的首选选项可以提供此功能,还是在外观上更基于个人意见(在这种情况下,我会自行形成而不是在这里询问!)。
答案 0 :(得分:1)
诚实的答案可能是“否”-社区没有首选的srfi版本。
但是(kinda)回答了我自己的问题,虽然我不能说这是事实上的标准,但 Akku 是Scheme的程序包管理器和虚拟环境管理系统,比任何其他版本都遥遥领先的替代品,并积极开发。它不是srfi的单独实现,而是一种通过单个界面安装需要使用的各种Scheme软件包的方法。
它还不是很简单,但是已经到了。令我惊讶的是,这里没有更多的谈论了,我只是在最初搜索这样的工具后的一段时间才偶然发现它。
您将获得一个用于为R6RS和R7RS提取软件包的接口以及一系列Scheme实现。
还有Snow,它目前仅支持R7RS: http://snow-fort.org/
但是,由于Akku反映了Snow并提供R6RS支持,因此它更加全面。
要回答原始示例的详细信息-Akku在创建新项目时默认情况下(至少在Chez Scheme系统上)安装chez-srfi,但也提供thunderchez作为软件包。是否表明Akku开发人员的偏爱,我让读者自己决定。
最初的问题是关于Chez的单个defato srfi实现,而不是更通用的软件包管理器。事后看来,这有点错了,只是因为我认为没有一个单一的软件包管理器(超出srfi)是不可能的。
至少我可以使用-Akku,不仅提供srfi的各种实现,而且还提供许多其他软件包,并在很大程度上回答了我的问题。