[Haskell-cafe] What about adding a wiki for each haskell project?

Marc Weber marco-oweber at gmx.de
Fri Dec 11 19:00:22 EST 2009


hackage is success because:
a) many (most) people do use it (by uploading packages)
b) it is a comprehensive list of availible packages if not the most
    comprehensive one

Duncan, can you write about your concerns briefly why some maintainers may dislike
this idea ?

Hackage is missing one feature:
It is very static. I mean if you have a patch or a question or a comment
you have to lookup the darcs repository, write the patch then contact
the author and wait.. If the author replies everything is fine.
If he doesn't you don't know what to do. And if he does your commitment
still doesn't show up on hackage.

Using a wiki page for each project enables anybody to add comments.
I'm thinking about this kind of comments:

  "Interlude doesn't work for me. It looks like the interlude.h file
  passes a tuple to the reportError function which doesn't expect a tuple.
  You can fix it by removing the "," in the .h file.
  Try this patch:
  http://github.com/MarcWeber/haskell-nix-overlay/blob/master/patches/interlude-0.1.1.patch
  "

  Of course I mailed the author. Looking at the package again I noticed
  that it was uploaded by someone else: GwernBranwen.
  gwern on #haskell told me that the author is responsive so I'll just
  wait some days, but others will try and fail as well.
  If the other person is new to haskell he may not find the fix
  fast. He just wants to know which of the heads is causing trouble..

Another use case would be users adding
"If you're interested in this topic also have a look at XXX"

Yet another use case is someone figuring out that function X was removed
in version Y. He could than add a note

x vanished since v.10 and everybody who wants to update cabal dependency
constraints doesn't have to download the darcs repo to figure out that
he should use package <= v.10 .

Of course contents of wiki pages may be totally wrong because the
contents were written by people knowing the package less than the
maintainers and authors. But everyone knows this and will take care.

This wiki can server as fail over if the maintainer is on holiday.

This wiki page will prevent people blogging about packages and benchmark
results anywhere on the internet. So it's much more likely that this
information is read and maintained.
If you use google to look for bug fixes or such you may have success.
But very often you end up reading pages dated 3 years ago which are
outdated.

This wiki page would be I simple effective way letting users annotate
packages.

Costs: Make hackage add one link.
It would look like this: http://mawercer.de/~marc/hackage-link-example.jpg
This link should point to the existing haskell wiki on haskell.org:
http://haskell.org/haskellwiki/project-name-without-version


Even if the maintainer is availible 24/h a day he won't upload a new
minor version to hackage for each change. But maybe he'll paste a small
note that the darcs repo is more up to date fixing issue x/y.
You don't want to upload a new version because you added some
documentation.
Why don't you want to do that ?
It's because hackage will keep every version which was uploaded once by
design. Having 50 versions of one package just causes much more work for
tools such as cabal install or hack-nix. Figuring out a solution to
install all packages is hard enough.

Maintainers can create the wiki page and subscribe to change
notifications. So I don't think it'll be that much work for them to keep
an eye on those wiki pages.

How do you think about it?
It's about centralizing information and saving your and my time.
Many packages aready do have a wiki page. So why not make it easier for
all to add one?

Thoughts ?

Currently my goal is updating some common packages so that they use
extensible exceptions and base4.
But when working on some patches I'd like to tell people that I'm doing
so. I can't in an easy way. That's why I'm starting this thread.

Marc Weber


More information about the Haskell-Cafe mailing list