Revision as of 07:55, 23 February 2009
This page is meant to get possible ideas for answers to the following questions:
The three problems are:
1) What packages should Hoogle search by default? All of hackage? The base libraries? Only the packages a user has installed? Only packages that make it in to the Haskell Platform?
2) What groups of packages should Hoogle have available? Each package individually? All packages which compile on Windows? All packages by a certain author? All packages whose minor version number is even?
3) What UI should Hoogle show? Should there be checkboxes for each os's package? Should their be a checkbox for each compiler/version? Should their be no UI but some documentation?
And the trade offs are:
1) The packages have to be divided under sensible and clear lines - I don't want to (and shouldn't) arbitrate divisions like "good" or "popular".
2) The more packages you search, the less relevant the results will be.
3) The fewer packages you search, the more chance that you miss something.
4) The more UI that is added the more confusing things get.
5) My development time for Hoogle derives Bounded, Finite and increasingly also derives Small.
Thoughts and suggestions welcome. Please write all thoughts on this page, don't remove other peoples thoughts, and do try and edit them to form a consensus if possible. Signed comments are preferred, unlike the rest of the Haskell wiki this is intended to be a debate where people own comments, rather than a polished document.
My personal opinions are very much in flux, but my current views are: 1) the base libraries are a minimum, all of hackage is a maximum, I can't decide at all. 2) Lots of groupings seem good, the more the merrier. 3) UI is precious, should be minimal - OS/compiler/version at the most. --Neil Mitchell 20:51, 22 February 2009 (UTC)
As expressed on -cafe, I support a default of all of the Haskell Platform being searched with a +hackage flag for all of hackage. To divide up the platforms I would be happy with +windows, +[li|u]nix, +osx being used to enable display of platform specific results. --Thomas DuBuisson
I think that the best default for searchable set is "everything that we can stuff it into". However, default way of ordering items should be based on "relevance" to the topic: base and other standard packages comes first, then Haskell Platform ones, then the rest of the crew. If the user want more specyfic results, provide him "Advanced Search" page very like the Google's one, with switches to turn things on and off. This should deal with avoiding UI cluttering. Last but not least, the following flags could be helpful for quick search specyfications: windows, linux, osx, hackage, package:NameOfPackage, with ability to turn on and off.