[Haskell-cafe] Working out which library to use (was: Haskell and
DB)
Don Stewart
dons at galois.com
Thu Nov 29 16:12:45 EST 2007
andrewcoppin:
> Ketil Malde wrote:
> >I think this is the problem, not the solution. There is a lot of DB
> >libraries, just like there are a multitude of XML libraries, several
> >collections, etc. Too many libraries are written as research projects
> >or by grad students, and left to rot after release. The fragmentation
> >also means that few libraries see any extensive testing - I was a bit
> >surprised that apparently none of the XML libraries can handle files
> >larger than a few megabytes, for instance.
> >
> >You're probably right that one of them would work, but especially new
> >users will have no way of knowing which one. Only after the user
> >has given up do people post similar experiences.
> >
> >This is getting better, of course - hackage will grow usage
> >and activity statistics and perhaps ratings, the wiki will be extended
> >with recommendations, more people will get involved in development.
> >But at the moment, this is a problem.
> >
>
> This is one of the more frustrating aspects of Haskell. It's not that
> nobody has written DB bindings - they most certainly have. It's not that
> nobody has written compression or cryptography bindings - they have.
> It's that there is a small zoo of them, and it's really hard to pick out
> which ones are the "good" ones. I really hope this does improve in time.
> (And I really wish I could do something positive to make this happen...)
We have the start on a solution for how to pick "the good ones".
* Go to Hackage
* Click on the 'experimental search interface'
http://hackage.haskell.org/packages/search.html
* Click on 'advanced search':
http://hackage.haskell.org/packages/advancedsearch.html
* Type the name of the library you're interested in, into the
"required-by" field.
We'll consider which binary IO library is most popular, from:
* binary
* NewBinary
* safecopy
The search engine returns the results:
* binary, is used by 12 other packages:
bencode, Etherbunny,GrowlNotify, harchive
hmp3, hpaste, HPDF, infinity
safecopy, tar, torrent, htar
* NewBinary, is used by 4 other packages:
ASN1, Crypto, GrowlNotify, Hmpf
* safecopy, is used by 0 packages.
So choose Data.Binary if you trust the wisdom of the crowd.
So as a crude heuristic for measuring what the masses are saying, this
seems reasonable.
-- Don
More information about the Haskell-Cafe
mailing list