I'm learning Haskell. One of first steps was to make pleasant development environment. I've already found haskell-mode, intero and some more useful packages but I miss offline/online documentation for the symbol at point.

What I've already found looks alike what I need is this but have no success with configuration. I have cabal installed from haskell-platform on ubuntu 14.04 but don't have ~/.cabal/share/doc/. What I expect is when the cursor is on e.g. repeat function and C-c C-d is presed it shows the some documentation for the function. It's nice to have some basic information about function signature in mini buffer but for a newcomer it would be great to have access to full documentation.

What is prefered way to get symbols full documentation inside Emacs?

  • 1
    I'm also a haskell beginner and DO NOT use haskell-platform. Instead, configure haskell to use haskell-stack. Get rid of all traces of haskell-platform. intero is made to work with stack. And, I had created an issue very similar to this in interos github page and apparently, they will add haddock support to intero in the future. ATM, the best way to get documentation inside of emacs might be helm-dash. Commented Oct 24, 2016 at 3:23
  • It is same as Hoogle support already contained in haskell-mode. Btw, it is good enouth to me. Also, intero support for documentation would be much more pleasant. :)
    – yujaiyu
    Commented Oct 24, 2016 at 18:04

1 Answer 1


Hoogle is what I serching for. At this moment there is (at least) two ways to integrate it nicely with Emacs.

  • Directly through haskell-mode. Fuction which should be called with cursor on desired symbol is haskell-hoogle-lookup-from-local. It will ask you to run hoogle local server for the first time.
    You also have to install hoogle in your stack sandbox via:

    stack install hoogle

    and you have to generate hoogle local documentation with:

    hoogle generate

  • Using helm-dash which supports many other languages and envirnoments. Function which should be called when the cursor is on desired symbol is called helm-dash-at-point. You should also install Haskell docset with M-x helm-dash-install-docset RET Haskell RET and activate Haskell docset with M-x helm-dash-activate-docset RET Haskell RET (there is also a way to activate corresponding docset acording to active mode/language described here).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.