What IDE support is available for Haskell (Visuall Haskell, EclipseFP), anything else?

in addition to the vim plugins already mentioned, i've got a few old ones at
   http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/

the page is many years old, but the logs indicate that many folks stumble across it via google, without ever telling me, and i've noticed that the haskell.org wiki now points to it, so i've just added my current vim files for haskell:

   compiler/ghc.vim: basic quickfix settings for ghc
   ftplugin/haskell.vim: basic settings allowing vim to recognise imports
                                   (also load other haskell plugins from here)
   ftplugin/haskell_doc.vim: extensive functionality based on haddock's
           html files for libraries, including doc lookup & id completion

i don't know how i ever haskelled without that last plugin - completing long
library ids or adding imports, is just part of the fun, mostly i like to lookup
docs quickly (if you're using hugs, also try :find), or just get a menu of possible imports an id might come from.

the files ought to be portable, but might retain some settings specific to windows as that is my working platform, please check and adjust as necessary. together with the pre-installed syntax-colouring for haskell, this enables much of vim's general ide functionality for haskell, but i'm sure one could do more. just pick and mix with the other vim files mentioned in this thread or on haskell.org (which perhaps should be more prominent, even though there isn't one mode to rule them all for vim!-)

if you can stay within haskell98, HaRe refactoring support for emacs and vim is still around: http://www.cs.kent.ac.uk/projects/refactor-fp/

claus

ps since surprisingly many haskellers are not quite aware of vim's ide
   functions, here is a partial list: syntax highlighting, quickfix (run source
through ghci, jump to errors listed), tags (jump to definitions; using 'ghc -e :ctags Main.hs' to generate tag file for Main.hs and imports, exported ids only at the moment; or use another tag file generator), completion with respect to current file, imported modules, tag files, haddock files (using haskell_doc.vim), (or define your own completion function), list lines using id under cursor, match open/ close brackets and parens, fold away sections of modules, ... not to mention the general editor, search&replace functions..

see the help files (:help), in vim, or online at http://vimdoc.sourceforge.net/htmldoc/usr_toc.html

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

Reply via email to