Unallocated names

Ian Lynagh ian at well-typed.com
Wed Sep 5 16:41:14 CEST 2012


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

-------------- next part --------------
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"
9 "Type"
9 "Acme"
8 "Algebra"
7 "XMonad"
7 "Synthesizer"
7 "Hack2"
7 "HAppS"
6 "Statistics"
6 "Music"
6 "DBus"
6 "Copilot"
5 "Wumpus"
5 "Utils"
5 "Util"
5 "UI"
5 "TypeLevel"
5 "Parser"
5 "Haskore"
5 "HGamer3D"
5 "Diagrams"
5 "Development"
5 "DB"
5 "Curry"
5 "CSPM"
5 "Blaze"
5 "Bamboo"
4 "Yhc"
4 "Temporal"
4 "Satchmo"
4 "Safe"
4 "Reactive"
4 "Physics"
4 "Main"
4 "Lava"
4 "LLVM"
4 "Interface"
4 "Holumbus"
4 "HSP"
4 "GraphRewriting"
4 "DDC"
4 "BrownPLT"
4 "BioInf"
4 "Application"
4 "App"
4 "Algorithms"
3 "Unsafe"
3 "UU"
3 "Render"
3 "Random"
3 "RSAGL"
3 "Options"
3 "OpenSSL"
3 "Number"
3 "Nettle"
3 "Media"
3 "LIO"
3 "IDE"
3 "Hledger"
3 "Hardware"
3 "HSX"
3 "Game"
3 "Filesystem"
3 "Factis"
3 "DirectX9"
3 "Darcs"
3 "Config"
3 "Atmosphere"
3 "Anansi"
2 "Yices"
2 "Yi"
2 "XMMS2"
2 "Workaround"
2 "URL"
2 "Trace"
2 "Thrift"
2 "Table"
2 "Static"
2 "SoccerFun"
2 "Shelly"
2 "Shady"
2 "Scripting"
2 "Scope"
2 "Scion"
2 "SHA1"
2 "Remote"
2 "Reactor"
2 "Ratified"
2 "Progress"
2 "Profiling"
2 "Printer"
2 "Parsek"
2 "MonadLib"
2 "MathObj"
2 "Logic"
2 "Lighttpd"
2 "Lcs"
2 "Layout"
2 "Lambdabot"
2 "IsoDate"
2 "Intel"
2 "Hbro"
2 "Hascat"
2 "Hakyll"
2 "HSH"
2 "Google"
2 "GA"
2 "Frame"
2 "Fractal"
2 "Finance"
2 "Feldspar"
2 "Facebook"
2 "Exec"
2 "Eval"
2 "Env"
2 "English"
2 "Dingo"
2 "Debian"
2 "DateMatcher"
2 "DCLabel"
2 "Crypt"
2 "CommandLine"
2 "ByteStringUtils"
2 "Base"
2 "Air"
1 "Zoom"
1 "ZipperM"
1 "ZMidi"
1 "ZFS"
1 "Yuuko"
1 "Yavie"
1 "Xyz"
1 "Xml"
1 "Xine"
1 "Word"
1 "Wired"
1 "WinDll"
1 "Wiki4e"
1 "Whim"
1 "WebWire"
1 "WebCont"
1 "WeatherApi"
1 "WXFruit"
1 "WURFLTypes"
1 "WURFLParser"
1 "WURFL"
1 "WASH"
1 "Vis"
1 "Version"
1 "Validate"
1 "VCSWrapper"
1 "VCSGui"
1 "Useful"
1 "Unify"
1 "Undo"
1 "Unbound"
1 "UnambCustom"
1 "UTLC"
1 "UTF8Prelude"
1 "URLT"
1 "UDrawGraph"
1 "Types"
1 "TypeUnary"
1 "TypeInfo"
1 "Twisty"
1 "TupleTH"
1 "Tuple"
1 "Trhsx"
1 "TrfToCFG"
1 "TrfInjectRefl"
1 "TrfInjectAbc"
1 "Transform"
1 "Trajectory"
1 "ToolShed"
1 "Toktok"
1 "Todos"
1 "TinyLaunchbury"
1 "Time"
1 "TheoremQuest"
1 "Theora"
1 "TextPlot"
1 "TextDisplay"
1 "Testing"
1 "Testbed"
1 "TestData"
1 "TerraHS"
1 "Term"
1 "Tensor"
1 "Tea"
1 "TPDB"
1 "TLBWriter"
1 "TIProg"
1 "TIMonad"
1 "TIMain"
1 "SymbolTables"
1 "SymbolTable"
1 "SymView"
1 "SymInfo"
1 "Swish"
1 "Swf"
1 "Subversion"
1 "Subst"
1 "StringTable"
1 "Stream"
1 "Storage"
1 "Storable"
1 "StaticThih"
1 "StaticTest"
1 "StaticPrelude"
1 "StaticMonad"
1 "StaticMaybe"
1 "StaticList"
1 "StablePtr"
1 "SrcLoc"
1 "Spread"
1 "SpatialMath"
1 "SparseCheck"
1 "SourceThih"
1 "SourceTest"
1 "SourcePrelude"
1 "SourceMonad"
1 "SourceMaybe"
1 "SourceList"
1 "SoOSiM"
1 "SmartGroup"
1 "Skeleton"
1 "Singletons"
1 "Sindre"
1 "Simulation"
1 "SimpleTree"
1 "SimpleReflect"
1 "SimpleCss"
1 "Sifflet"
1 "ShowQ"
1 "ShowFun"
1 "Shellish"
1 "Shell"
1 "ShePrelude"
1 "Shared"
1 "Shaker"
1 "SetGames"
1 "Sentry"
1 "SecLib"
1 "Scrobble"
1 "Script"
1 "Scheme"
1 "SableCC"
1 "SVM"
1 "STMControl"
1 "STLC"
1 "SSH"
1 "SNTP"
1 "SMTLib2"
1 "SMTLib1"
1 "SME"
1 "SECDH"
1 "Rotating_backdrop_logic"
1 "Roots"
1 "Robotics"
1 "RnMonad"
1 "Rhythm"
1 "ReviewBoard"
1 "Rename"
1 "ReifyHs"
1 "Regex"
1 "RegExpr"
1 "RegExDot"
1 "RegExChar"
1 "Recipe"
1 "Reader"
1 "ReadArgs"
1 "Rdioh"
1 "RdioResult"
1 "Ratio"
1 "Rallod"
1 "RRegex"
1 "RESTng"
1 "QuickAnnotate"
1 "Query"
1 "Quat"
1 "QuantumVector"
1 "QuantumArrow"
1 "QuantLib"
1 "QIO"
1 "Python"
1 "PureFP"
1 "Pugs"
1 "Ptr"
1 "Proxy303"
1 "Propane"
1 "PropLogicTest"
1 "PropLogicCore"
1 "PropLogic"
1 "PropLang"
1 "Progression"
1 "ProgressBar"
1 "ProgInfo"
1 "Processes"
1 "PrioritySync"
1 "PrintText"
1 "PrettyUtil"
1 "PrettyTree"
1 "PrettyGraph"
1 "PrettyCode"
1 "Pred"
1 "Precis"
1 "PreProc"
1 "PpIDLSyn"
1 "PpCore"
1 "PpAbstractH"
1 "PowerMate"
1 "Posixutil"
1 "Porte"
1 "Population"
1 "Polynomial"
1 "Plugin"
1 "Pitch"
1 "Pec"
1 "Pattern"
1 "Pat"
1 "Parsimony"
1 "ParseUtil"
1 "ParseLib"
1 "Panda"
1 "PPrint"
1 "PP"
1 "PGames"
1 "PGF"
1 "PDBtools"
1 "OscType"
1 "Orthogonals"
1 "Orc"
1 "Opts"
1 "Optimize"
1 "Operation"
1 "OpenAFP"
1 "OmgParser"
1 "Olist"
1 "Offset"
1 "OBDD"
1 "NumericPrelude"
1 "NotCPP"
1 "NormaliseType"
1 "NickEq"
1 "Newt"
1 "NewBinary"
1 "NekoPort"
1 "Neko"
1 "NaturalSort"
1 "NativeInfo"
1 "NatGames"
1 "NameSupply"
1 "NIB"
1 "NET"
1 "MyMissing"
1 "MultiSetRewrite"
1 "Mueval"
1 "Monocle"
1 "Mongrel2"
1 "MonadLab"
1 "Monad"
1 "MkImport"
1 "MissingPy"
1 "Mine"
1 "Midi"
1 "Microbench"
1 "Metrics"
1 "Metaplug"
1 "Message"
1 "Medium"
1 "MediaWiki"
1 "Maybe"
1 "Matrix"
1 "MarshallUtils"
1 "MarshallUnion"
1 "MarshallType"
1 "MarshallStruct"
1 "MarshallServ"
1 "MarshallMonad"
1 "MarshallMethod"
1 "MarshallJServ"
1 "MarshallJNI"
1 "MarshallFun"
1 "MarshallEnum"
1 "MarshallDep"
1 "MarshallCore"
1 "MarshallAuto"
1 "MarshallAbstract"
1 "MarshalUtils"
1 "MarshalError"
1 "MarshalArray"
1 "MarshalAlloc"
1 "MarXup"
1 "Manual"
1 "Makedo"
1 "MagicHaskeller"
1 "Magic"
1 "MTP"
1 "MPSUTF8"
1 "MPS"
1 "MPD"
1 "MO"
1 "MFlow"
1 "Luhn"
1 "Lseed"
1 "Locale"
1 "Literal"
1 "Lit"
1 "ListZipper"
1 "ListLive"
1 "List"
1 "LinearAlgorithms"
1 "Libs"
1 "LibUtils"
1 "Lib"
1 "LexM"
1 "Lex"
1 "LevMar"
1 "LambdaCat"
1 "Lambda"
1 "LSystem"
1 "LMain"
1 "LDAP"
1 "LBState"
1 "Kind"
1 "Kibro"
1 "KeyStroke"
1 "Keter"
1 "Jvm"
1 "JudgeParser"
1 "Join"
1 "JavaProxy"
1 "Java"
1 "JVM"
1 "JSON"
1 "Ix"
1 "Ivor"
1 "IsoHunt"
1 "Iso"
1 "Iptables"
1 "Interlude"
1 "Integer"
1 "Int"
1 "Instrument"
1 "InstrSize"
1 "InstrLocFilter"
1 "InstrBaseLib"
1 "Instr"
1 "Initialization"
1 "Infer"
1 "Includes"
1 "ImportLib"
1 "Imm"
1 "Id"
1 "IRCBase"
1 "IPPrint"
1 "IO"
1 "IDLUtils"
1 "IDLToken"
1 "IDLSyn"
1 "ID3"
1 "Hyena"
1 "HyLo"
1 "HugsCodeGen"
1 "Hugs"
1 "Huffman"
1 "Hsed"
1 "HsShellScript"
1 "HsConfigure"
1 "Hoogle"
1 "Hexdump"
1 "HeteroMap"
1 "Helper"
1 "Hellnet"
1 "Heist"
1 "Hdis86"
1 "Hawk"
1 "HaskellThih"
1 "HaskellTest"
1 "HaskellPrims"
1 "HaskellPrelude"
1 "HaskellMonad"
1 "HaskellMaybe"
1 "HaskellList"
1 "HasGP"
1 "Harpy"
1 "Harp"
1 "HarmTrace"
1 "Hans"
1 "Halipeto"
1 "Halfs"
1 "Hails"
1 "Haddock"
1 "HackedMicrobench"
1 "HackMail"
1 "Hach"
1 "HXMPP"
1 "HTk"
1 "HSPR"
1 "HSNTP"
1 "HSFFIG"
1 "HROOT"
1 "HPath"
1 "HNM"
1 "HLogger"
1 "HLCM"
1 "HJScript"
1 "HJS"
1 "HFusion"
1 "HFlags"
1 "HFiaR"
1 "HFANN"
1 "Gutenberg"
1 "Guess"
1 "Grm"
1 "Graphs"
1 "GraphRewrite"
1 "GoogleSB"
1 "Gnome"
1 "Globals"
1 "Github"
1 "Git"
1 "GetOpt"
1 "GenProg"
1 "GenInstrLib"
1 "Games"
1 "GTA"
1 "GSL"
1 "GOA"
1 "GEP"
1 "GDBMI"
1 "FuzzyTime"
1 "Funsat"
1 "FunctorCombo"
1 "Function"
1 "FriendFeed"
1 "Freenect"
1 "Freedesktop"
1 "Fraction"
1 "ForeignPtr"
1 "ForSyDe"
1 "Flite"
1 "Flickr"
1 "FiniteMap"
1 "Financial"
1 "FilterGames"
1 "FileLocation"
1 "FileFormat"
1 "File"
1 "Fez"
1 "FastPropLogic"
1 "Facts"
1 "Factory"
1 "FST"
1 "FOV"
1 "FMP"
1 "ExtractAbc"
1 "Extra"
1 "Extension"
1 "Export"
1 "Examples"
1 "Example"
1 "ExCF"
1 "Events"
1 "ErrorLocation"
1 "Error"
1 "Epic"
1 "Entropy"
1 "Engine"
1 "Encode"
1 "EigensystemNum"
1 "Eigensystem"
1 "Editor"
1 "EEConfig"
1 "Dynamic"
1 "Dvda"
1 "DsMonad"
1 "Drum"
1 "Dropbox"
1 "DrawString"
1 "DrawDiagrams"
1 "DrIFT"
1 "Documentation"
1 "DisTract"
1 "Directory"
1 "Diplomacy"
1 "Digraph"
1 "Dewdrop"
1 "Desugar"
1 "DerivationTrees"
1 "DefaultPropLogic"
1 "Default"
1 "DefGen"
1 "Dedukti"
1 "Datadirt"
1 "DataTreeView"
1 "DVD"
1 "DSP"
1 "DPM"
1 "DNS"
1 "DCPU16"
1 "CustomAttributes"
1 "CsoundExpr"
1 "Criterion"
1 "Costack"
1 "CoreUtils"
1 "CoreIDL"
1 "CoreFoundation"
1 "Controls"
1 "Controller"
1 "Conjure"
1 "Conf"
1 "Condorcet"
1 "Complex"
1 "Compiler"
1 "Company"
1 "CombinatorialOptimisation"
1 "Colada"
1 "CodeGen"
1 "Coadjute"
1 "Clocked"
1 "Clang"
1 "Chromosome"
1 "Chords"
1 "Char"
1 "CgMonad"
1 "Cake"
1 "CabalMeta"
1 "CV"
1 "CTypes"
1 "CStubGen"
1 "CString"
1 "CPython"
1 "CPUTime"
1 "CPSScheme"
1 "CPSPrint"
1 "CLasH"
1 "CForeign"
1 "CFLP"
1 "CFGraph"
1 "CFG"
1 "CError"
1 "ByteCode"
1 "BuildBox"
1 "Bound"
1 "BotLib"
1 "BoolExp"
1 "Bool"
1 "BlockingTransactions"
1 "Bits"
1 "Bird"
1 "Bind"
1 "Berp"
1 "Bayes"
1 "BasicTypes"
1 "BasicGames"
1 "Barrie"
1 "Barracuda"
1 "Bamse"
1 "Bag"
1 "BadGames"
1 "BEncode"
1 "Aws"
1 "Autoproc"
1 "Audio"
1 "Attribute"
1 "Atomo"
1 "Assump"
1 "Array"
1 "Arm"
1 "ApplePush"
1 "Annotations"
1 "Anatomy"
1 "Analysis"
1 "Agda"
1 "Actor"
1 "ActiveHs"
1 "AbstractH"
1 "AbsHUtils"
1 "AbsCF"
1 "ATerm"
1 "ADP"
1 "ADNS"


More information about the cabal-devel mailing list