
i would categorize myself as a purely practical programmer. i enjoy using haskell for various practical tasks and it has served me reliably. one issue i have with the library support for practical problem domains is the half-finished state of many fundamental codebases such as networking and database support. in the perl world, support for these domains is provided through cpan, and this model is viable due to the (once) massive number of perl coders out there. in the java, c# etc world, a "batteries included" approach implies a narrowing of options, but also an immediate delivery of functionality. so far the haskell community has taken the cpan route for most practical libs but i wonder if a "batteries included" approach might help get some key libraries to a more complete state. in particular, i would like to see support for basic internet protocols, database connectivity, and potentially xml parser support rolled into the ghc standard libs. there is always a strong debate on where the line is drawn, but this functionality at least shows up in a plurality of practical projects. the "batteries included" approach does imply choosing preferred solutions when more than one library is available, this can also be difficult. that said, i think haskell would pick up a lot of new coders if it was obvious that the functionality they were looking for came out of the base libs. i know that people will say they don't use a database or xml, but there will always be parts of a standard library that any particular coder will never touch...but still see value in the inclusion for others. comments?