
p.f.moore:
On 05/07/07, Jonathan Cast
wrote: Can't say I agree. I've been learning Python, and have been very un-impressed so far with its library coverage, which I would rate no better than (in terms of the POSIX bindings, worse than) Haskell.
It probably depends on your perspective. I've found lots of tasks that would be a simple library call in Python, but which require me to write the code myself in Haskell. Examples:
* Send an email
Sounds like a job for MissingH?
* Parse an ini file
Probably have to write your own Parsec-based parser here.
* Gzip compress a data stream
We have a wonderful library for this! http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zlib-0.3
* Calculate the MD5 checksum of a file
In the Crypto library, or use the openssl binding posted a couple of days ago: http://thread.gmane.org/gmane.comp.lang.haskell.cafe/24165/focus=24170
(Of course, I may just not have found the relevant library - that says something about discoverability rather than coverage, I guess).
Find more libraries on hackage: http://hackage.haskell.org/packages/archive/pkg-list.html
For bindings, Python's Windows bindings (pywin32) are superb, where Haskell's are minimal and unmaintained. Of course, that won't matter to you if you use POSIX...
The one thing off the top of my head that Python had was Base64, but that's 20 lines of Haskell tops. Aside from that, nothing.
But that's 20 lines of code I don't want to write, and more, I don't know how to write (without looking up the definition of Base64). Having lots of these seemingly trivial helpers available "out of the box" is what library coverage means to me. (And Python does have lots of these - I don't know how Haskell fares in practice).
I'm not trying to start (or fan) a flamewar, but it's interesting how different people's perspectives on libraries can be...
-- Don