On Sunday, 17 May 2015 at 20:03:02 UTC, Walter Bright wrote:
I've thought about making such a package many times. A couple
"archives" nobody ever thinks about are .lib and .a archives.
Interestingly, they work pretty much just like .zip files,
except without compression.
In fact, if I was still working on linkers, I'd use .zip as the
library format!
Of course, like idiots, programmers keep inventing (badly) new
archive formats.
I think .a just fell in to relative obscurity after .tar came
about, especially since .tar can store much longer file names
(100 bytes + 155 bytes of prefix/path, vs .a's 16 bytes). Having
support for it in Phobos out-of-the-box would probably be useful
for anyone writing a compiler/linker, though.
Oh, and lest I forget, it should not have a streaming
interface. It should have a range interface.
If this is in response to "stream-based," apologies, I mustn't
have made it clear what I meant. "Stream" was used for want of a
better word, as Zlib/Gzip/etc store data as one big "stream" of
data, while Zip/Tar/etc structure their data in to files and the
like.