I'm new to Chez, and just looking for some clarity given the various maintained and unmaintained repos existing.
Is there a single commonly preferred source repo to obtain the R6RS SRFI libraries (specifically for Chez Scheme)?
I know about 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).
For R6RS I can find most of the SRFIs as separate repos under the following repo, which isn't very practical to grab all the code: https://github.com/scheme-requests-for-implementation
And then a variety of other repos, eg:
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
The only ones with recent activity, and luckily also seem to be Chez-focused, seem to be chez-srfi and thunderchez.
chez-srfi seems the most recently active, and once I worked out the requirement to run link-dirs.chezscheme.sps
and then softlink the chez-srfi
directory to srfi
it seems to work using the standard import references - (import (srfi :N lib))
.
That said I've had similar success using (import (srfi sN lib))
using Thunderchez.
I'm completely agnostic over which repo I use, providing it's easy to use and actively kept up to date. Is there a clear preferred choice providing this, or is choice based more cosmetically on personal opinion (in which case I'll form my own rather ask it on here!).
The honest answer is probably "no" - there is not a single version of srfi preferred by the community.
But to (kinda) answer my own question, whilst I can't say it's a defacto standard yet, Akku is a package manager and virtual environment management system of Scheme that is miles ahead of any of the alternatives, and actively developed. It's not an individual implementation of srfi, but is a way to install various Scheme packages you need to use through a single interface.
It's not quite venv and pip - but it's getting there. I'm amazed this isn't talked about more, I only stumbled upon it some time after my initial search for a tool like this.
You get a single interface to pull packages for both R6RS and R7RS, and a range of Scheme implementations.
There is also Snow, which is currently only supporting R7RS: http://snow-fort.org/
But as Akku mirrors Snow as well as providing R6RS support, it is more comprehensive.
To answer the specifics of the original example - Akku installs chez-srfi by default (on a Chez Scheme system at least) on creation of a new project, but also offers thunderchez as a package. Whether that indicates a preference by the Akku developer's, I'll leave up to the reader to decide.
The original question was about a single defacto srfi implementation for Chez, rather than a more general package manager. In hindsight this misses the point a bit, simply because I didn't think a single package manager (beyond srfi) was a remote possibility.
So for my use at least - Akku, not only provides various implementations of srfi, but also offers a host of other packages, and largely answers my question.