Request for Features/Ideas: A std.archive package

Liam McSherry via Digitalmars-d digitalmars-d at puremagic.com
Tue May 19 07:16:36 PDT 2015


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).


More information about the Digitalmars-d mailing list