[Haskell] KDevelop & Haskell

Claus Reinke claus.reinke at talk21.com
Tue Jan 27 00:38:17 EST 2004


> > like what? seriously, what features would you _use_?
> Didn't try yet, therefore I'm asking :-)

always the same effect:) yes, there are features one would like
to see in a language-aware development environment, and that
aren't well supported for Haskell in current editors/IDEs. but
the main reason for that is that it isn't easy to fake language
support for Haskell, so that most of the interesting features
need proper support by a frontend that supports most of the
language, and is being kept up to date and maintained. Take
your pick for which of these requirements are most likely to fail..

that's why it would be nice if the supported Haskell implementations
we have would also offer the necessary API on top of which such
enhanced IDE functionality could be implemented in everyone's
editors of choice.
 
> But I saw that haskell is in the the table of supported languages.

yes, and it is nice to see it advertised this way, but I just checked,
and the support seems to be in its very early stages:

http://developer.kde.org/documentation/library/cvs-api/kdevelop/html/LangSupportStatus.html

> That's fine. I vim can satisfy my Haskell needs, it means jsut to dive a little
> bit deeper in.

it's definitely worth it - I haven't read all of it myself, and they keep adding
things with every new release, but there are some helpful discoveries to
be made in the online manual.

it won't do everything (unless you do a little programming, or we get
those APIs I keep mumbling about), but it will do a lot. fake syntax 
colouring is surprisingly useful, say if you generate strings with escaped
strings and wonder whether you've closed terminated the outer string,
or just for the better overview, but not being based on a proper parser,
it does get confused occasionally. beyond that, you'll just have
to translate some things from a Lisp/C/Java-mindset (bracket matching,
jump to closing bracket, etc. work just fine, so do tag files, and simple
indent manipulation, but to be able to browse from import
statements to imported modules, e.g., you have to ":set include.." and
":set includeexpr.." and so on). the haskell mode for vim I mentioned
has some examples, and calls out to hugs for features that would be 
hard to implement in vim.

> > would you believe that most Haskellers haven't
> > even set up their editor properly with Hugs, because they don't know that
> > would give them access to an age-old jump-to-definition feature?-),
> If you say so ..

oh, these unbelievers!-)

http://cvs.haskell.org/Hugs/pages/users_guide/options.html#OPTIONS-EDITOR
http://cvs.haskell.org/Hugs/pages/users_guide/module-commands.html

set your editor as specified, start Hugs, type ":find foldl", enjoy.
for extra marks, make your editor call out to Hugs, load the current
module, and :find the identifier under the cursor. (or were you 
suggesting that most Hugs users are already aware of this
feature and use it every day?)

> > http://www.cs.kent.ac.uk/projects/refactor-fp/
> > (this is current, and should eventually include most of the former
> > Vim mode, not to mentions lots of other fascinating features:)
> This one is nice. Thank you.

why, thank you!-)

>>.. happy to notice some recent and promising developments)
>Have you (maybe) tried KDevelop with kvim?

no, I was thinking of the recent Haskell-in-Haskell frontends, and
of Simon M's work on providing an API for ghc to support a
visual studio binding. The frontends, or the API once it has evolved,
are just what one needs to provide programmers editors with
Haskell-awareness.

http://www.haskell.org/communities/11-2003/html/report.html#sect5.2.3.1
http://www.haskell.org/communities/11-2003/html/report.html#sect5.3.3
http://www.haskell.org/communities/11-2003/html/report.html#sect6.5.5

Cheers,
Claus




More information about the Haskell mailing list