[Haskell-cafe] ANN: The Typeclassopedia, and request for feedback
Andrew Coppin
andrewcoppin at btinternet.com
Mon Feb 16 15:07:43 EST 2009
Brent Yorgey wrote:
> My hope is that this will be a valuable resource to the Haskell
> community, especially those who are learning. Any feedback would be
> greatly appreciated, especially if it helps improve the article before
> publication. A draft can be found here
Excellent work.
I like the way this is a single, thorough documentation that presents
all the abstractions in a single, coherant account. Kudos. Some others
have suggested a set of hyperlinked articles; maybe there are actually
two seperate use-cases here? The document as it stands is a great
beginning-to-end account of this stuff, but perhaps a seperate reference
document, nicely hyperlinked, would be nice too? There's *a lot* of type
signatures to keep straight in your head, and I imagine it's quite easy
to muddle the different classes up in your head while you're still new
to them.
I'd echo others' comments about more examples; some of these things are,
by definition, seriously abstract. Concrete examples can help.
(Although, obviously, picking good examples isn't as easy as it sounds...)
Similarly, there are lots and *lots* of references. This is a good
thing, IMHO. But I do feel that a few of them could be expanded a little
more in-line. Obviously there's no point in you duplicating everything
that somebody else has already said, but maybe a little more detail? On
the other hand, maybe this just indicates that somebody needs to write
summaries for the other topics similar to the excellent one we have
here! :-D
There are a few little glitches here and there. Since this is only a
draft, I presume you know that. (E.g., an example uses <$> before you've
meantioned what it does, there's some text that says something like "a b
c is an arrow that takes an a and returns a c". Little things like that.)
I do have one little question. Let me see if I can find the quote... Ah,
here we go:
"The WrappedMonad and WrappedArrow constructors witness the fact that
any Monad and any Arrow can be made into an Applicative."
I don't really understand that sentence. Care to elaborate?
More information about the Haskell-Cafe
mailing list