
Ok, when I upload a package it warns me about unallocated names? How are names allocated, and who makes the decisions here? Best, Leon

On Tue, Sep 04, 2012 at 06:32:48PM +0100, Leon Smith wrote:
Ok, when I upload a package it warns me about unallocated names? How are names allocated, and who makes the decisions here?
It's complaining if the first component of a hierarchical module name doesn't come from a certain set. There was once a plan to allocate the module namespace, but it's pretty dormant: http://www.haskell.org/haskellwiki/Hierarchical_module_names

On Tue, Sep 04, 2012 at 06:49:00PM +0100, Ross Paterson wrote:
On Tue, Sep 04, 2012 at 06:32:48PM +0100, Leon Smith wrote:
Ok, when I upload a package it warns me about unallocated names? How are names allocated, and who makes the decisions here?
It's complaining if the first component of a hierarchical module name doesn't come from a certain set. There was once a plan to allocate the module namespace, but it's pretty dormant:
http://www.haskell.org/haskellwiki/Hierarchical_module_names
Leon's presumably talking about postgresql-simple-0.2.4.1, which uses Database.PostgreSQL.* Hackage2 will currently complain about anything that doesn't start with one of: Algebra, Codec, Control, Data, Database, Debug, Distribution, DotNet, Foreign, Graphics, Language, Network, Numeric, Prelude, Sound, System, Test, Text Does anyone think that this check is currently useful, or should I just turn it off? Thanks Ian

Well, I'm not sure. Perhaps some form of name allocation is appropriate,
as it could theoretically lead to problems when you want to use package A
alongside package B, which both rely on two different packages with
conflicting module names. On the other hand, this case doesn't
necessarily cause problems either.
It doesn't seem useful at the moment, in it's current incarnation. So
I'd say we probably ought to turn it off.
Best,
Leon
On Tue, Sep 4, 2012 at 2:22 PM, Ian Lynagh
On Tue, Sep 04, 2012 at 06:49:00PM +0100, Ross Paterson wrote:
On Tue, Sep 04, 2012 at 06:32:48PM +0100, Leon Smith wrote:
Ok, when I upload a package it warns me about unallocated names? How are names allocated, and who makes the decisions here?
It's complaining if the first component of a hierarchical module name doesn't come from a certain set. There was once a plan to allocate the module namespace, but it's pretty dormant:
http://www.haskell.org/haskellwiki/Hierarchical_module_names
Leon's presumably talking about postgresql-simple-0.2.4.1, which uses Database.PostgreSQL.*
Hackage2 will currently complain about anything that doesn't start with one of: Algebra, Codec, Control, Data, Database, Debug, Distribution, DotNet, Foreign, Graphics, Language, Network, Numeric, Prelude, Sound, System, Test, Text
Does anyone think that this check is currently useful, or should I just turn it off?
Thanks Ian
_______________________________________________ cabal-devel mailing list cabal-devel@haskell.org http://www.haskell.org/mailman/listinfo/cabal-devel

On Tue, Sep 04, 2012 at 07:22:04PM +0100, Ian Lynagh wrote:
Hackage2 will currently complain about anything that doesn't start with one of: Algebra, Codec, Control, Data, Database, Debug, Distribution, DotNet, Foreign, Graphics, Language, Network, Numeric, Prelude, Sound, System, Test, Text
Does anyone think that this check is currently useful, or should I just turn it off?
That test is copied from Hackage1. We don't have any means of allocating the module namespace apart from squatter's rights and negotiation, but arbitrary expansion of the top level of the hierarchy is unhelpful, and having a warning for that seems to me the least we should do.

On Wed, Sep 5, 2012 at 5:57 AM, Ross Paterson
That test is copied from Hackage1. We don't have any means of allocating the module namespace apart from squatter's rights and negotiation, but arbitrary expansion of the top level of the hierarchy is unhelpful, and having a warning for that seems to me the least we should do.
Ok, I can agree to that, but why did uploading postgresql-simple trigger a warning, when all my modules start with Database? Also, should we consider adding the "Math" top-level name? That seems to be fairly popular... Best, Leon

On Wed, Sep 5, 2012 at 10:57 AM, Ross Paterson
That test is copied from Hackage1. We don't have any means of allocating the module namespace apart from squatter's rights and negotiation, but arbitrary expansion of the top level of the hierarchy is unhelpful, and having a warning for that seems to me the least we should do.
I'm not sure I see the problem with arbitrary expansion of the top level of the hierarchy. If the Haskell community has a clear idea of what the module hierarchy is /for/, I'd like to see that discussed formalised in a haskellwiki article. It seems like I'm at least not the only person confused: http://www.reddit.com/r/haskell/comments/zdev6/hierarchical_modules_are_freq...

On Wed, Sep 05, 2012 at 10:57:42AM +0100, Ross Paterson wrote:
On Tue, Sep 04, 2012 at 07:22:04PM +0100, Ian Lynagh wrote:
Hackage2 will currently complain about anything that doesn't start with one of: Algebra, Codec, Control, Data, Database, Debug, Distribution, DotNet, Foreign, Graphics, Language, Network, Numeric, Prelude, Sound, System, Test, Text
Oh, I think actually the test is currently just broken. "Database" is on the list, but I get Exposed modules use unallocated top-level names: Database/PostgreSQL/Simple Database/PostgreSQL/Simple/BuiltinTypes [...] when uploading postgresql-simple 0.2.4.0 as a caniddate package.
Does anyone think that this check is currently useful, or should I just turn it off?
That test is copied from Hackage1. We don't have any means of allocating the module namespace apart from squatter's rights and negotiation, but arbitrary expansion of the top level of the hierarchy is unhelpful, and having a warning for that seems to me the least we should do.
Well, I'm not sure how much effect the warning has, but if we're going to keep it then are there any other top-level names we should add? I've attached a list of how many packages use each top-level name (based on the latest version of packages in June 2012), and here's those that are used by at least 10 packages (starred names are already in the list). 926 Data ***** 339 Control ***** 316 Text ***** 247 System ***** 228 Network ***** 166 Graphics ***** 153 Language ***** 94 Database ***** 69 Codec ***** 67 Numeric ***** 64 Sound ***** 63 Test ***** 41 Bindings 38 Web 33 Math 33 Foreign ***** 29 Yesod 25 Happstack 22 Generics 20 Snap 18 Distribution ***** 17 Hack 17 Debug ***** 16 Prelude ***** 16 Manatee 15 NLP 15 Bio 13 Crypto 12 FRP 11 Biobase 10 GHC 10 AI 8 Algebra ***** 0 DotNet ***** Thanks Ian

On Tue, Sep 4, 2012 at 11:22 AM, Ian Lynagh
Does anyone think that this check is currently useful, or should I just turn it off?
I think it should be turned off, or at most become a warning. There's no particular rhyme or reason to the current naming hierarchy, so freezing it in stone seems arbitrary.

On Tue, Sep 11, 2012 at 10:44:04AM -0700, Bryan O'Sullivan wrote:
On Tue, Sep 4, 2012 at 11:22 AM, Ian Lynagh
wrote: Does anyone think that this check is currently useful, or should I just turn it off?
I think it should be turned off, or at most become a warning.
FWIW, it's already just a warning. Thanks Ian -- Ian Lynagh, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/
participants (5)
-
Ben Millwood
-
Bryan O'Sullivan
-
Ian Lynagh
-
Leon Smith
-
Ross Paterson