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 generator.

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.

Peter.


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to