[Haskell-cafe] ANNOUNCE: zlib and bzlib 0.4 releases

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Tue Oct 23 11:30:56 EDT 2007


On Tue, 2007-10-23 at 16:34 +0200, Yitzchak Gale wrote:
> Duncan Coutts wrote:
> > I'm very happy to get feedback on the API, the documentation or of
> > course any bug reports.
> 
> It would be nice if the API could be the same for all
> character and data codecs.

Hmm, though the inputs and outputs are different types in general. With
compression we're working with uninterpreted streams of bytes. For
character encoding/decoding we're converting between internal Unicode
representations and external representations as sequences of bytes.

That is, (de)compression does not fit into
encode :: [Word8] -> String
decode :: String -> [Word8]

If we parametrise over the input and output types we get something far
too general.

Also, from my point of view there's nothing wrong with giving
(de)compression a different function name from character encoding. In my
opinion it is easier to read:

content <- return . decode . decompress =<< readFile file

than

content <- return . decode . decode =<< readFile file

Where I mean to read a compressed unicode text file. Names are good! :-)


Am I missing something or just being curmudgeonly? :-)

Duncan


More information about the Haskell-Cafe mailing list