Re: objective data on use of extensions
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
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
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