Proposal: module namespaces.

Ashley Yakeley ashley@semantic.org
Tue, 27 Feb 2001 05:33:26 -0800


At 2001-02-26 09:59, Malcolm Wallace wrote:

>Proposal 2
>----------
>Adopt a standardised namespace layout to help those looking for or
>writing libraries, 

I'm a big fan of the Java reversed DNS style. Whatever, I think it's 
important that anyone with a domain name should be able to obtain a 
unique namespace without any further bureaucracy.

In fact, whatever you decide it's likely to happen anyway, since people 
will decide that for instance "Com.Microsoft.Research.MyModule" is 
unlikely to clash with anyone outside the appropriate domains and 
subdivisions.

I'm assuming that module name components have enforced capitalisation, 
like all other Haskell identifiers.

>and a "Std" namespace prefix for genuinely
>standard libraries.  (These are two different things.)

Eeesh, let's hope ICANN doesn't register a 'std' TLD. I would prefer 
"Standard" for this reason and also because the abbreviation seems pretty 
pointless.

>In addition to a standardised hierarchy layout, I propose a truly
>Standard-with-a-capital-S namespace.  A separate discussion is needed
>on what exactly would consitute "Standard" quality, but by analogy
>with Java where everything beginning "java." is sanctioned by Sun,
>I propose that every module name beginning "Std." is in some sense
>sanctioned by the whole Haskell community.

Do you have any kind of guarantees of copyright openness in mind? In 
Java, everything under java.* is supposed to be owned by Sun.

Will it be standard practice for versions of Standard be included with 
Haskell compilers?

Could the Prelude make use of Standard?

Could Standard become an alternative to the Prelude?

If answers to these last three are all "no", an alternative would be to 
put it under "Org.Haskell.Standard".


-- 
Ashley Yakeley, Seattle WA