Re: [Haskell-cafe] A little toy of Haskell Trivia

2008-02-24 Thread Steve Lihn
Ross,
I changed the query to "count(distinct package)" and indeed the
"noises" of same package imports are filtered out. The two top-10
lists now look somewhat similar.

GHC only: http://haskell.ecoin.net/cgi-bin/modules.pl?src=ghc
1 Control.Monad 22
2 Data.Char 20
3 System.IO 17
4 Data.List 16
5 Data.Maybe 16
6 System.IO.Unsafe 14
7 Control.Exception 13
8 Foreign.Ptr 11
9 Data.Word 11
10 Foreign.C 11

GHC+HackageDB: http://haskell.ecoin.net/cgi-bin/modules.pl?src=both
1 Control.Monad 178
2 Data.List 132
3 Data.Maybe 113
4 Data.Char 104
5 System.IO 99
6 Control.Exception 98
7 Data.Word 83
8 System.IO.Unsafe 81
9 Foreign 74
10 Data.Map 68

Steve

On Sat, Feb 23, 2008 at 5:25 PM, Ross Paterson <[EMAIL PROTECTED]> wrote:
> On Sat, Feb 23, 2008 at 10:59:40AM -0500, Steve Lihn wrote:
> > 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
>
> You'd get a different picture again if you excluded same-package imports.
> Some of the high-ranking modules are used internally in large packages.
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] A little toy of Haskell Trivia

2008-02-23 Thread Ross Paterson
On Sat, Feb 23, 2008 at 10:59:40AM -0500, Steve Lihn wrote:
> 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

You'd get a different picture again if you excluded same-package imports.
Some of the high-ranking modules are used internally in large packages.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] A little toy of Haskell Trivia

2008-02-23 Thread Steve Lihn
>
> 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
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] A little toy of Haskell Trivia

2008-02-21 Thread Ross Paterson
On Wed, Feb 20, 2008 at 09:22:58PM +, Steve Lihn wrote:
> I proudly announce a little toy that lists the frequency of modules
> being imported by other modules. Do you know Control.Monad is the most
> frequently imported module? I did not!
> 
> Currently it only includes GHC 6.8 core library. If you have any idea
> how to parse through HackageDB code, please let me know.

There's a link on the HackageDB Introduction page that gets you the
latest versions of all packages (30MB).
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] A little toy of Haskell Trivia

2008-02-20 Thread Henning Thielemann

On Thu, 21 Feb 2008, Wolfgang Jeltsch wrote:

> Am Mittwoch, 20. Februar 2008 22:22 schrieb Steve Lihn:
> > I proudly announce a little toy that lists the frequency of modules
> > being imported by other modules. Do you know Control.Monad is the most
> > frequently imported module? I did not!
>
> This doesn’t surprise me very much.  What surprises me more is that OpenGL
> stuff is that popular. :-)

Maybe some kind of self-citation ...
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] A little toy of Haskell Trivia

2008-02-20 Thread Benjamin L. Russell
Rewriting that script in Haskell could be an
interesting exercise.  Do you have the source code?

Benjamin L. Russell

--- Steve Lihn <[EMAIL PROTECTED]> wrote:

> I proudly announce a little toy that lists the
> frequency of modules
> being imported by other modules. Do you know
> Control.Monad is the most
> frequently imported module? I did not!
> 
> Currently it only includes GHC 6.8 core library. If
> you have any idea
> how to parse through HackageDB code, please let me
> know.
> 
> http://haskell.ecoin.net/cgi-bin/modules.pl
> 
> Disclaimer: This is entirely for fun. It is by no
> means accurate or
> complete. I only spent a couple hours on a little
> perl script and a
> mysql table...
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
> 

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] A little toy of Haskell Trivia

2008-02-20 Thread Ross Paterson
On Wed, Feb 20, 2008 at 09:22:58PM +, Steve Lihn wrote:
> I proudly announce a little toy that lists the frequency of modules
> being imported by other modules. Do you know Control.Monad is the most
> frequently imported module? I did not!
> 
> Currently it only includes GHC 6.8 core library. If you have any idea
> how to parse through HackageDB code, please let me know.

The layout is pretty simple.  The index file

http://hackage.haskell.org/packages/archive/00-index.tar.gz

contains all the .cabal files.  From their names you can figure out the
locations of the source bundles, e.g.

AGI/1.1/AGI.cabal
->
http://hackage.haskell.org/packages/archive/AGI/1.1/AGI-1.1.tar.gz

You can easily slurp the lot.

The HackageDB wiki page has more details:

http://hackage.haskell.org/trac/hackage/wiki/HackageDB
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] A little toy of Haskell Trivia

2008-02-20 Thread Wolfgang Jeltsch
Am Mittwoch, 20. Februar 2008 22:22 schrieb Steve Lihn:
> I proudly announce a little toy that lists the frequency of modules
> being imported by other modules. Do you know Control.Monad is the most
> frequently imported module? I did not!

This doesn’t surprise me very much.  What surprises me more is that OpenGL 
stuff is that popular. :-) 

> […]

Best wishes,
Wolfgang
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe