[Haskell-cafe] A little toy of Haskell Trivia

Steve Lihn stevelihn at gmail.com
Sat Feb 23 10:59:40 EST 2008


>
> There's a link on the HackageDB Introduction page that gets you the
> latest versions of all packages (30MB).

Ross,
Thanks for the archive URL. I parsed through all the hackagedb
modules. I also added the display of repository source (ghc, hdb) and
package source. HackageDB is 3-4 times bigger than GHC core. The
result is interesting, looking at the most used modules move up and
down the rank...

http://haskell.ecoin.net/cgi-bin/modules.pl

As I reflect on what I did, this result is kind of useful in learning
Haskell. Haskell is about re-using modules and building on top of
them. If a module is often used by Haskell community (especially,
library writers), a beginner better understand that module first (such
as Monad, List, Map, Exception, Array, etc).

On the other hand, I am thinking to display a "eco-system" kind of
graph/chart to show how the modules are connected with each other, and
which module is on the top of the "eco-system" (either the most
advanced module, or a module no one cares about!). But my data seem to
have a recursive nature. I don't quite understand why nor how to get
by it.

> Rewriting that script in Haskell could be an
> interesting exercise.  Do you have the source code?

Ben,
I think the best way to write this parser in Haskell is to use haddock
since haddock understands Haskell syntax much better than my
hacker-style script.

Here is the source code of both the parser(s) and cgi script. The code
is very experimental and low-quality... Let me know if you have any
question.

http://haskell.ecoin.net/haskell-trivia.tgz

Steve


More information about the Haskell-Cafe mailing list