[Haskell-cafe] Is there something better than tags?

Peter Hercek phercek at gmail.com
Tue Feb 22 12:11:15 CET 2011

On 02/22/2011 11:45 AM, Magnus Therning wrote:
> 1. Fully functional go-to-definition.  With that I mean that
> go-to-definition is aware of local definitions introduced in 'let' and
> 'where' clauses and ideally also for names bound in 'do' clauses.
> I've found there are several ways to generate a tags file, GHCi can
> generate them, and there are two tools for it, hasktags and
> hothasktags.  haskellmode currently uses GHCi to generate tags.
> However, the limitation seems to be inherent in the tags format
> itself.  AFAICS there is no way to get a fully functional
> go-to-definition with that format.
Last time I checked (about a year ago), the file scope was the smallest 
scope supported by vim in tag files. So you are out of luck here. You 
would need to extend vim (either by extending the tag file format or by 
your own scripts handling this separately) and also your favourite tags 

> 2. Retrieve type information for local defintions ('let', 'where',
> 'do'), and ideally also for sub expressions (like ':t filter (== 1)'.
> I believe haskellmode uses GHCi to get the type information out, but
> it is only able to get it for top-level definitions.
This is because ghci shows you this information only for the top level 
symbols (the ones available in :browse). Ghci would need to be extended 
first. Maybe it is there in GHC 7.0?

I hope I'm wrong somewhere and it could be done somehow more easily.


More information about the Haskell-Cafe mailing list