On 12/27/06, Neil Mitchell <[EMAIL PROTECTED]> wrote:
Only a few of the standard libraries are useful unless you are doing something specific. i.e. Data.Maybe is generally useful, but Control.Monad.State is only useful if you are using a state monad.
Hmm, I'm not sure I agree with you here. Yes, a lot of the libraries are fairly specialised, but the problem is when you find you need a specialised library, how do you know it exists in the standard library? That's where something like the Haddock documentation is less useful, as it's library-oriented rather than task-oriented. For example (not a wonderful example, as I know the answer :-)) if I'm writing a program and I need to build a parser, what's to tell me (apart from asking around, or stumbling on it) that Parsec is the library I want - or if I know that, that it's included in the standard library and I don't need to go and install it? (Other broad areas occasionally relevant to me - XML serialisation, sending emails, SSH, implementing a Windows service...). I'm not so much asking "can I do X?" as "how do I reach a level where I stand a chance of knowing the answer to "can I do X?" without asking?" :-) Ultimately, though, I agree that the basic answer is just experience...
If someone wrote a tour of Data.List/Data.Maybe as well as a few common functions out of Control.Monad that would probably make a nice companion to a tour of the prelude.
David House pointed me at Wikibooks entries for these two, which look quite nice. Cheers, Paul. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe