Ideas for a desirable feature of a Haskell IDE:
Good: IDE pops up the type signature of the library function or symbol under the point. Emacs haskell-mode can do this.
Better: IDE is aware of static scoping, let binding, and imports to really know what function you are referring to. However, if you forgot to import, it still tries to be helpful, guessing at a library function and offering its signature as well as a reminder that you need to import it.
Better: If the function does not have an explicit type signature, the IDE does type inference to figure it out.
Better: if the type is polymorphic, the IDE also provides the type of the function as instantiated where it is used, instead of just the polymorphic type where it was declared.