Thanks for chiming in.
> If you write an implementation for R7RS it will be easily integrated
> into snow-fort.org <http://snow-fort.org>, where any R7RS implementation
> can easily use it.
OK, I see that the (chibi sqlite3) binding on snow-fort uses the Chibi
FFI (the language for writing bindings looks sweet btw!) I presume each
Scheme implementation would need its own implementation of the SRFI
unless there is a cross-implementation FFI I'm unaware of.
I expect most implementations would be bindings for either the
high-level libarchive, or the low-level zlib and its kin (libarchive
itself uses zlib, bzlib, liblz4, liblzo and liblzma under the hood).
There would likely be a little code in pure Scheme that could be shared
by almost all implementations (some glue code and assorted things like
pathname normalization and the like).
Also, for implementations that wrap byte codec libraries written in C
(gzip, bzip2, etc.) but use archive libraries written in Scheme (zip,
tar, etc.), we might be able to make a reference implementation of the
Scheme part base on Göran's code.
> I wouldn't worry about the random-access facility. It doesn't make
> sense for tarballs anyway, only for zipfiles.
Yeah. Implementations would have to use temp files or other caching
tricks to create the illusion that a tar.gz/tar.bz/tar.xz file supports
random access like zip. RAR and 7z archives can also compress contiguous
files as one hunk (<https://en.wikipedia.org/wiki/Solid_compression>).