Hoogle works once more

Hi, I've just finished updating Hoogle (http://haskell.org/hoogle/) to work with the latest GHC API, in particular all the base split that has occurred and the few functions that were added. It took rather longer than I would have liked, because of paper deadlines etc, but its now sufficiently automated that it should only take a few seconds next time the libraries move in new directions. So now, if there is a function you are looking for in the core libraries which you can't find, tell me. Equally, if any of the documentation links lead to a 404, please do tell me. Hoogle still doesn't search all the hackage packages (that is the ultimate intention), just a selection of packages. The darcs URL's of the packages it searches are: http://darcs.haskell.org/packages/base/ http://darcs.haskell.org/packages/array/ http://darcs.haskell.org/packages/bytestring/ http://darcs.haskell.org/packages/Cabal/ http://darcs.haskell.org/packages/containers/ http://darcs.haskell.org/packages/directory/ http://darcs.haskell.org/packages/filepath/ http://darcs.haskell.org/packages/mtl/ http://darcs.haskell.org/packages/old-locale/ http://darcs.haskell.org/packages/old-time/ http://darcs.haskell.org/packages/packedstring/ http://darcs.haskell.org/packages/parallel/ http://darcs.haskell.org/packages/parsec/ http://darcs.haskell.org/packages/process/ http://darcs.haskell.org/packages/random/ http://darcs.haskell.org/packages/stm/ http://darcs.haskell.org/packages/template-haskell/ http://darcs.haskell.org/packages/time/ I picked this list based on a couple of critera: 1) The library MUST have documentation under http://haskell.org/ghc/docs/latest/html/libraries 2) The library should have shipped with GHC at some point recently (6.6 or 6.8) 3) The library is generally useful, not task specific (Gtk2hs, OpenGL are task specific) 4) If a library is Core to GHC, it should probably be in that list Quite a few libraries were close decisions, aided by nothing more than my mood at the time. In particular things like packedstring might be worth removing, and things like cgi or html/xhtml might be worth adding. Since this is a tool for the whole community, it makes sense that the whole community has input on what that list should be. Whatever list is decided upon, it will only be for the near future. Once Hoogle 4 is finished, every library on Hackage will be searched as an equal. Thanks Neil

On 06/12/2007, Neil Mitchell
Hi,
I've just finished updating Hoogle (http://haskell.org/hoogle/) to work with the latest GHC API, in particular all the base split that has occurred and the few functions that were added. It took rather longer than I would have liked, because of paper deadlines etc, but its now sufficiently automated that it should only take a few seconds next time the libraries move in new directions.
This is great news. Hoogle is a fantastic tool. Is there a way to search on module names? If I put in Data.Map then the one thing that doesn't come up is a link to the library page for Data.Map. That would be a really good short-cut. Once again, thanks. Cheers, D. -- Dougal Stanton dougal@dougalstanton.net // http://www.dougalstanton.net

Dougal Stanton wrote:
Is there a way to search on module names? If I put in Data.Map then the one thing that doesn't come up is a link to the library page for Data.Map. That would be a really good short-cut.
You can already search for unqualified module names: http://haskell.org/hoogle/?q=Map shows module Data.Map as first result. Tillmann

Hi
Is there a way to search on module names? If I put in Data.Map then the one thing that doesn't come up is a link to the library page for Data.Map. That would be a really good short-cut.
As Tillman says, you can search for "Map" alone to find Data.Map. The new version (Hoogle 4) already supports this properly, so searching for Data.Map is equivalent to searching for Map in the Data.* hierarchy - which does exactly what you want. Thanks Neil

On Dec 6, 2007 10:50 AM, Neil Mitchell
So now, if there is a function you are looking for in the core libraries which you can't find, tell me. Equally, if any of the documentation links lead to a 404, please do tell me.
Thanks for your work on Hoogle! It is an extremely useful tool. Not sure if this qualifies in any category above, but I just searched for: Monad m => m (m a) -> m a And I couldn't find Control.Monad.join on any of the first 4 pages or so of results. If I search for join, of course, the first result is: Control.Monad. join :: Monad m => m (m a) -> m a Is this a bug, or simply a known limitation? If the latter, is there a workaround, in case I happen not to know the name of join? -- Denis

Hi Dennis,
Not sure if this qualifies in any category above, but I just searched for:
Monad m => m (m a) -> m a
And I couldn't find Control.Monad.join on any of the first 4 pages or so of results. If I search for join, of course, the first result is:
Control.Monad. join :: Monad m => m (m a) -> m a
Is this a bug, or simply a known limitation? If the latter, is there a workaround, in case I happen not to know the name of join?
Unfortunately its a known bug, and there are no workarounds. Removing the Monad m => part of the query will actually make it more likely to give back join, but is still not great. The problem is that when I wrote Hoogle 3 I didn't understand higher-kinded type classes, and as a result, Hoogle 3 does a particularly bad job on them. The next version has been designed from the beginning to handle them properly, so once that's finished, you'll have no more problems. Thanks Neil

Neil Mitchell wrote:
I've just finished updating Hoogle (http://haskell.org/hoogle/) to work with the latest GHC API, in particular all the base split that has occurred and the few functions that were added. It took rather longer than I would have liked, because of paper deadlines etc, but its now sufficiently automated that it should only take a few seconds next time the libraries move in new directions.
Brilliant news. I've felt slightly crippled the last few weeks due to ending up on 404 pages when using hoogle ;) I also like the new logo... it is new, right?
Whatever list is decided upon, it will only be for the near future. Once Hoogle 4 is finished, every library on Hackage will be searched as an equal.
This is great news. I've always missed System.Posix and Network.BSD in Hoogle. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus What if I don't want to obey the laws? Do they throw me in jail with the other bad monads? -- Daveman

Hoogle is an amazing tool, thanks for all your work on it! Let me put my vote in to include cgi and html/xhtml in the next revision. It might help dons convert another person or two to Haskell ... not that he needs any help. Thanks, - Hitesh
participants (6)
-
Denis Bueno
-
Dougal Stanton
-
Hitesh Jasani
-
Magnus Therning
-
Neil Mitchell
-
Tillmann Rendel