Michael Hobbs wrote:
> I think I might be able to clarify George's point with an example:
> unzip. Presumably, the unzip function will stay, no matter what happens
> with existential types, arrows, etc. The problem is, I don't know what
> unzip *does*. (Actually, I do, but I'm taking the POV of a novice here.)
> The only documentation for unzip is this:
[..]
> "S. Alexander Jacobson" wrote:
> >
> > Are we talking about documentation for the H98 libraries?
> > Are these libraries relevant? Don't MPTC, Existential Types, Restricted
> > Type Synonyms, Arrows, and an FFI substantial change the architecture,
> > interface, and implementation of the libraries? As these language
> > features are becoming more accepted (implemented in GHC & Hugs), is it
> > worth investing time in supporting what are in fact really strange library
> > APIs.
Since we're speaking for each other here, I thought I'd add my bit: I
think Alex is pointing out that much of the H98 library should be
thrown out once MPTCs, existentials, and the like are added to
Haskell.
I guess unzip will stay, but maybe it will be a class method rather
than a basic operation on lists (and Michael's hypothetical
documentation will thereby become invalid). The present H98 prelude
will seem quite idiosyncratic <BlueSkyMode> when the new features make
writing the Perfect Haskell Prelude easy and natural,
</BlueSkyMode> :-) and thus any existing documentation will have to be
re-thought and almost certainly re-written.
I think Michael is right, though, that micro-documentation (of
individual functions, especially in the Prelude) should be reasonably
stable. I think Alex is thinking more along the lines of module-level
documentation of whole APIs, which should certainly change
dramatically.
Hope this clarifies things a little.
--KW 8-)