hie actually parses the file (using a modified version of haskell-src-exts to support more extensions), and gives show-type-at-point, goto definition, and auto complete with inline haddock documentation. Its autocomplete is context sensitive--for instance, if you type "import " you will only see modules. It also works somewhat incrementally and on-the-fly. YMMV, and it isn't documented well, but I use it every day and haven't had any problems.
If you want to try it out, you'll probably need Emacs 24. It might work on Emacs 23. Use hie-fetch.py to fetch the source for all of the packages you have installed, and "hie-hackage.py cachedir" to pre-cache your libs. First time import of Prelude will be slow, but afterwards should be instantaneous.
If you have problems the code is pretty self-explanatory IMO, but feel free to e-mail me (addr in the .el file) with comments and concerns.