On Tuesday, 19 May 2015 at 12:31:15 UTC, Dejan Lekic wrote:
We need two things actually:
1) compress package with set of commonly used compression algorithms.
   std.alg.compress comes to mind as package name.

A compression package would certainly be useful as the number of supported archives grows.

2) VFS module/package with set of interfaces and reference implementations for as many formats as possible. 3) It would be extremely useful to have something like Java SPI (http://en.wikipedia.org/wiki/Service_provider_interface) in D. All the VFS implementations would then follow this standard and give us truly runtime-replaceable components. More about this: http://resources.sei.cmu.edu/asset_files/TechnicalNote/2002_004_001_13958.pdf

I imagine a VFS interface and an interface for file-based archives like Zip/Tar/7z would be fairly similar. Support for virtual filesystems could probably be implemented as part of the archive package.

WRT runtime replaceability, the defining of a single set of exceptions (without making them too specific) for all std.archive submodules should help. The fact that there aren't any "standard" exceptions seems to come up a fair bit (DIP33, for example).

Reply via email to