Re: Haddock + Hoogle == Javadoc on steroids

Taking this to haskell-cafe.. http://joyful.com/repos/darcs-sm/api-doc is a mashup of haddock, hoogle and hscolour (and darcsweb, darcs-graph - see http://joyful.com/repos). It's rough but quite useful - a few minutes here gave me a much better understanding of the big picture of darcs code. By alternating shift & enter in the contents pane I could browse quickly through all modules. Improvement: one could do a lot of useful magic with javascript. But it would be more powerful to improve the tools, eg I'd like if haddock had frames/no-frames built in and hoogle could be made to work in either case. I haven't had time to work on this, currently I hard-code the target in hoogle and munge the haddock output slightly (see recent patch in darcs-unstable). As you say it would be great to keep improving this area and baking it into our tools and infrastructure. Highly accessible and efficient docs and code browsing tools help a lot! On Sep 27, 2008, at 1:49 PM, Jason Dagit wrote:
Simon,
I'm wondering if you could find a way to make it "trivial" for people using cabal to combine haddock and hoogle the way you have for darcs?
Some ideas: 1) Depend entirely on cabal for the auto setup of things 2) Provide the framed interface on your webpage also has a layout in emacs (so people can use either web or emacs) 3) Package it so that people just 'cabal install hoodock && hoddock ./src' and then they are done for 90% of cases 4) Provide demos for darcs and something else large like GHC
What do you think? If you need help with it, I'm sure there are tons of people on Haskell-Cafe that would really dig this and help you with it.
Thanks, I love it! Jason
Thanks! -Simon

Hi Simon,
http://joyful.com/repos/darcs-sm/api-doc is a mashup of haddock, hoogle and hscolour (and darcsweb, darcs-graph - see http://joyful.com/repos).
I can see the Haddock information, but not the Hoogle/HsColour mashup. I'm using Firefox 3. Am I missing something? How do you get started with a Hoogle query?
had time to work on this, currently I hard-code the target in hoogle and munge the haddock output slightly (see recent patch in darcs-unstable).
I believe you emailed me privately with a question about pointing at haddock documentation from Hoogle. I'm currently a bit out of sync with emails as I've just moved house, don't yet have internet, and can't check my gmail account from work. The answer, from what I can remember of the question, is: "How do I get Hoogle to point at a particular documentation repo?" The answer is to add a line similar to: @haddock http://hackage.haskell.org/packages/archive/Cabal/latest/doc/html/ to the Text file you get out of haddock --hoogle. You can also add an @hackage url, which is treated as the home page of the package. Thanks Neil ============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ==============================================================================

Hi Neil.. my apologies, my nightly cron script clobbered it. Please try now, same url: http://joyful.com/repos/darcs-sm/api-doc You should see three panes with hoogle in the lower left.
The answer is to add a line similar to:
@haddock http://hackage.haskell.org/packages/archive/Cabal/latest/doc/html/
to the Text file you get out of haddock --hoogle.
You can also add an @hackage url, which is treated as the home page of the package.
Aha, I had not detected that at all. Thanks for the tip. Also thanks to you and the haddock & hscolour authors for such fine tools. -Simon

Hi
The answer is to add a line similar to:
@haddock http://hackage.haskell.org/packages/archive/Cabal/latest/doc/html/
to the Text file you get out of haddock --hoogle.
You can also add an @hackage url, which is treated as the home page of the package.
Aha, I had not detected that at all. Thanks for the tip. Also thanks to you and the haddock & hscolour authors for such fine tools.
It's entirely undocumented, and not a great interface - my hope is that one day cabal will pass some --hoogle-extra flags or something to haddock, but I've not yet decided how packages should specify where they live - if you have any suggestions do let me know. For your example page, its very nice. Perhaps, for the bottom left Hoogle box, it would be easier if you used the code snipped: <form action='http://haskell.org/hoogle/' method='get'> <input name='hoogle' id='hoogle' type='text' value="" /> <input id='submit' type='submit' value='Search' /> </form> That way the interface should look a bit nicer, as you don't need such a large amount of space for a search box and you can format it the way you want. Thanks Neil

that one day cabal will pass some --hoogle-extra flags or something to haddock, but I've not yet decided how packages should specify where they live - if you have any suggestions do let me know.
Will do.. I've yet to come to grips with cabal, still in makefile land as yet..
For your example page, its very nice. Perhaps, for the bottom left Hoogle box, it would be easier if you used the code snipped:
Works well, thanks! I've also put it at the top of the haddock pane, so the third pane could be dropped ? Not sure which is better.
participants (3)
-
Mitchell, Neil
-
Neil Mitchell
-
Simon Michael