
On Thu, Aug 02, 2012 at 01:50:50PM +0000, Amy de Buitléir wrote:
I'm developing a framework for artificial life experiments that I would like to make available on Hackage eventually. I've read all the guidance and proposals I could find for where to place packages in the hierarchy:
http://www.haskell.org/haskellwiki/Hierarchical_module_names http://www.cs.york.ac.uk/fp/libraries/layout.html http://www.cs.york.ac.uk/fp/libraries/layoutSM.html
I've also examined the current hierarchy of modules:
http://hackage.haskell.org/packages/archive/pkg-list.html
The current hierarchy has a top-level AI category, so it would seem logical to me to add a top-level ALife category and put my package under that. But perhaps it would be best not to start a new top-level category? I could put my package under AI, because my framework does support the use of AI, and wouldn't look too out of place with the other packages there.
(Moving the discussion to haskell-cafe; haskell@haskell is generally for announcements and such.) It seems to me that you might be confusing two separate things. Cabal packages may list one or more "categories", which are used to group packages on the main list of packages: http://hackage.haskell.org/package/ . In general, I would say that you should avoid creating a new top-level category. Hierarchical module names are something different. The 'Category' specified in the .cabal file does NOT have to be the same as the first component of your module names (though for many packages it is). For example, it would be perfectly fine to specify 'AI' as the category, and then have module names like ALife.Foo and so on. -Brent