ANN: MissingH 0.7.2 with GZip
David Roundy
droundy at abridgegame.org
Sun Dec 5 08:01:27 EST 2004
On Sat, Dec 04, 2004 at 05:42:30PM -0600, John Goerzen wrote:
> Hello,
>
> I'm pleased to announce the release of MissingH 0.7.2, available from
> http://quux.org/devel/missingh.
>
> This release incorporates Ian Lynagh's pure-Haskell Inflate algorithm,
> and CRC-32 and GZip file parsers of my own design, to make a
> pure-Haskell solution[1] to decompressing .gz files. At present, it
> is rather slow, as there has been little effort to optimize any of the
> three components. Patches to address the speed will be happily
> applied. The Inflate and CRC32 algorithms also provide the necessary
> support to be able to handle ZIP files. I plan to introduce ZIP and
> tar file support in upcoming releases of MissingH.
The FileArchive.GZip module is interesting, but I'm not sure I care for the
interface. Wouldn't it be better for
decompress :: String -> (String, Maybe GZipError)
to be
decompress :: [Word8] -> Either GZipError [Word8]
And I'm not sure how hDecompress works. Could we use this with a pipe to
read a gzipped file, or does it have to be able to synchronously write the
entire file to the output handle?
What I'd really like would be
openGZippedFile :: IOMode -> FilePath -> IO Handle
And of course, speed is an issue, so an optional zlib backend would be
double-nice (or a really well-optimized decompressor). For now, I guess
I'll stick with my tried and true (and butt ugly) zlib ffi interface, which
uses threads and pipes to implement a gzOpenFile.
Actually, I see that compression is not implemented either...
--
David Roundy
http://www.darcs.net
More information about the Libraries
mailing list