Re: objective data on use of extensions

2006-02-04 Thread Isaac Jones
Ian Lynagh <[EMAIL PROTECTED]> writes:

> On Fri, Feb 03, 2006 at 11:38:09AM -0800, Isaac Jones wrote:
>> I would like to strive to find objective data on the use of
>> extensions.  I started a table here which summarizes how popular
>> extensions are in real-life code.  We need more data points, though.
>> 
>> http://hackage.haskell.org/trac/haskell-prime/wiki/ExtensionsExperiment
>> 
>> I have a short program which queries the hackage database, gets some
>> details about all of the packages there, and summarizes them into a
>> table.
>
> I'm not sure how useful this info is, as:

There are definitely imperfections in the data, but surely the actual
data about which extensions are being used in real code is relevant.

> * You won't get, for example, FunctionalDependencies from any libraries
>   or applications that make use of Control.Monad.State.

I suppose we could try to chase down those dependencies.  If Package A
depends on Package B, and Package B uses extension X, then perhaps we
could count package A as half a point for extension X.  All the data
is there, this would be pretty easy to add.

> * Many extensions turn into -fglasgow-exts/-98, so if I use
>   functional dependencies and rank 2 types but only declare
>   FunctionalDependencies and not Rank2Types then nothing is going to
>   tell me I've made a mistake.

True enough, but I think people know when they are using extensions.
One solution would be to make sure that all extensions have their own
flag instead of so many going to -fglasgow-exts.

(snip)
> * People will sometimes be willing to jump through hoops to avoid using
>   an unportable extension.
>
>
> That said, FWIW, I have the following in my cabalised libraries (none in
> hackage AFAIK):

If you give me links, I'll upload them, or you could upload them as
per the instructions on the wiki.

peace,

  isaac
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime


Re: objective data on use of extensions

2006-02-04 Thread Ian Lynagh
On Fri, Feb 03, 2006 at 11:38:09AM -0800, Isaac Jones wrote:
> I would like to strive to find objective data on the use of
> extensions.  I started a table here which summarizes how popular
> extensions are in real-life code.  We need more data points, though.
> 
> http://hackage.haskell.org/trac/haskell-prime/wiki/ExtensionsExperiment
> 
> I have a short program which queries the hackage database, gets some
> details about all of the packages there, and summarizes them into a
> table.

I'm not sure how useful this info is, as:

* You won't get, for example, FunctionalDependencies from any libraries
  or applications that make use of Control.Monad.State.

* Many extensions turn into -fglasgow-exts/-98, so if I use
  functional dependencies and rank 2 types but only declare
  FunctionalDependencies and not Rank2Types then nothing is going to
  tell me I've made a mistake. (I think it would be great if this was
  fixed). (Ideally something could warn about unused extensions too, but
  that's trickier).

* People will sometimes be willing to jump through hoops to avoid using
  an unportable extension.


That said, FWIW, I have the following in my cabalised libraries (none in
hackage AFAIK):

* ForeignFunctionInterface, TemplateHaskell, TypeSynonymInstances
* TypeSynonymInstances
* ForeignFunctionInterface
* ForeignFunctionInterface
* EmptyDataDecls, CPP
* EmptyDataDecls, ForeignFunctionInterface

Thanks
Ian

___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime


objective data on use of extensions

2006-02-03 Thread Isaac Jones
I would like to strive to find objective data on the use of
extensions.  I started a table here which summarizes how popular
extensions are in real-life code.  We need more data points, though.

http://hackage.haskell.org/trac/haskell-prime/wiki/ExtensionsExperiment

I have a short program which queries the hackage database, gets some
details about all of the packages there, and summarizes them into a
table.  Right now, there really aren't that many packages on
HackageDB, but hopefully more will appear.

HackageDB is here:
http://hackage.haskell.org/ModHackage/Hackage.hs?action=home

You can upload packages with Cabal-Put, but it's pretty hackish right
now.  I put detailed installation instructions on the wiki:
http://hackage.haskell.org/trac/hackage/wiki/CabalPut

A list of cabal packages that might be good for uploading is here:
http://hackage.haskell.org/trac/hackage/wiki/CabalPackages

The more packages we get into HackageDB, the more accurate objective
data we can build.  Let me know if you want to help!


peace,

  isaac
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://haskell.org/mailman/listinfo/haskell-prime