[Haskell-cafe] jumping to code every and anywhere : what about installing tagfile and source ?

Marc Weber marco-oweber at gmx.de
Sun Jan 13 19:57:00 EST 2008


I feel this is the right place to think about this?
(I'll crosspost a small announcement on ghc as well pointing to this thread)

Copied from http://hackage.haskell.org/trac/hackage/ticket/207#preview:

 == Introduction ==
 I personally depend on tags because the source code only tells what is
 really going on.
 So it would be incredible useful to not only get information using ghci
 after loading libs but also beeing able to jump to all functions you might
 be using anywhere (The only solution providing this in all cases is uning
 tags, right? Because cpp defines can introduce new functions.. To be able
 to jump to the code source must be installed along with libs (the way you
 can optionally install haddock docs)

 == Use case: ==
 setup configure --with-tags --install-source (or something like that)
 setup build && setup install

 do this for each dependency given in the .cabal file
 (VIM:) let tags+=system('ghc-pkg --query-tagfile-location
 haskell98-1.0.0.0')

 == Issues: ==
 * Which tool to generate tag files?
  * ghc(i) when targeting ghc
  * the hasktags program shipping with ghc
  * some others?
 * Tagfile path type relative or absolute?
  * absolute: After moving/ installing the sources the tagfile must be
 patched
  * relative: Do editors take the right base directory to find source
 files?
 * When to invoke the tagfile generating program?
  * Perfect case would be after all preprocessing has been done
    (Thus the tagging program should understand line number changing
 comments!)
 * Template Haskell? ( This is really tricky I think )
 * Hmm sorted tagfiles would be useful as well :)

 == alternatives ? ==
 If you do not think this is useful (mandatory?)
   how do you lookup code? (Yes I know hoogle :)
   perhaps using Eclipse or Visual Studio?

 I'd like to start implementing this somehow the next weeks.
 So don't hesitate and start discussing

 Marc Weber


More information about the Haskell-Cafe mailing list