digitalmars.D - Rewriting zlib in Phobos
- Walter Bright (12/21) May 07 2016 Before anyone gets too deep into this, the zip file format is functional...
- rikki cattermole (5/28) May 07 2016 Assuming it uses allocators, I'd be happy.
On 5/7/16 3:33 PM, Andrei Alexandrescu wrote:Another library discussed as even more ripe for replacement is zlib: * We compile the C source code, which is extra aggravation to the build scripts * The D wrappers are ancient and clunky - we should have beautiful, efficient range streaming * I think the license allows us to translate the source code to D, so we have a viable path of replacement * Just got word (thx Rikki) the D wrappers use GC in a laissez-faire manner, so no way to use the library tightly So if anyone wants to look into this, it would be a good project.Before anyone gets too deep into this, the zip file format is functionally the same as the various .lib and .a formats read and written by dmd, and there are many other such formats. Any redesign should be a package based one, such as: std.archiver.zip std.archiver.libomf std.archiver.libmscoff std.archiver.libmach std.archiver.libelf (those are just the ones we have code for) and they should use a common interface.
May 07 2016
On 08/05/2016 3:08 PM, Walter Bright wrote:On 5/7/16 3:33 PM, Andrei Alexandrescu wrote:Assuming it uses allocators, I'd be happy. Although I like the idea of replacing what is in dmd with this. But perhaps for the binary formats derivation that they should be fully import/exportable with headers and all? It would step 1 of making a linker.Another library discussed as even more ripe for replacement is zlib: * We compile the C source code, which is extra aggravation to thebuild scripts* The D wrappers are ancient and clunky - we should have beautiful,efficient > range streaming* I think the license allows us to translate the source code to D, sowe have > a viable path of replacement* Just got word (thx Rikki) the D wrappers use GC in a laissez-fairemanner, > so no way to use the library tightlySo if anyone wants to look into this, it would be a good project.Before anyone gets too deep into this, the zip file format is functionally the same as the various .lib and .a formats read and written by dmd, and there are many other such formats. Any redesign should be a package based one, such as: std.archiver.zip std.archiver.libomf std.archiver.libmscoff std.archiver.libmach std.archiver.libelf (those are just the ones we have code for) and they should use a common interface.
May 07 2016