[Haskell-cafe] IDE?

bf3 at telenet.be bf3 at telenet.be
Sat Jun 16 07:23:40 EDT 2007

Sorry I should have mentioned that I actually did all those searches you
provided, and read the wiki. I've been searching the internet for 6 months
now. I'm a professional software developer with 20 years of experience. I
actually (co-)developed integrated IDEs for visual programming languages,
type inferers, some refactoring tools, a version control system, some
compilers and linkers, and some commercial videogames for Commodore 64,
Amiga, PC, XBOX, PS2 and PS3. Now that I get to learn Haskell, I noticed
that I've always programmed in a horribly ugly, imperative/OO way ;) So I'm
not really a rookie, although I'm indeed a complete Haskell newby :)

I've tried VIM, Emacs, asked Rhinosoft for an evaluation (which I did not
get), tried the Eclipse plugin (can't get it to work on 3 PCs I tried),
tried Visual Haskell (incomplete, sometimes crashes or hangs Visual Studio),
an briefly looked at other alpha-level solutions. Currently I'm using
"Notepad++", which just does basic syntax highlighting but is usable out of
the box for a Windows programmer.

The point I wanted to make is, that I can't find an
easy-to-install-ready-to-use-and-rock-n-roll IDE for Windows that comes with
all or most of those features. I mean something like Borland TurboPascal
from the 80's, Visual Studio 2005, IntelliJ IDEA or Eclipse. I know that
people with a UNIX background have a completely different point of view on
this (they like separate tools they can fully configure). 

IMHO Haskell - although old - has a lot of potential that is rather
difficult to reach for "spoiled MTV generation inpatient plug-and-play
Windows programmers"... The people from Microsoft seem to understand that;
they made an excellent Visual Studio plugin for their F# research language.
Although far from perfect, this plugin works better for me than say Visual
Haskell. As I know most of the .NET framework, F# is still an option me, but
I'm tackling Haskell first, as it is pure and lazy (and I am the latter but
not the former ;-)


BTW: I also looked at UNICODE editor support (like Fortress), so it would
bring Haskell a step closer to mathematical notation (all Haskell books
already use UNICODE for their Haskell examples). Yes, this is also on the
wiki, but again, I fail to do something practical. 

-----Original Message-----
From: haskell-cafe-bounces at haskell.org
[mailto:haskell-cafe-bounces at haskell.org] On Behalf Of Claus Reinke
Sent: Saturday, June 16, 2007 1:18 AM
To: haskell-cafe at haskell.org
Subject: Re: [Haskell-cafe] IDE?

> I've searched the internet for an Haskell IDE that supports the following:

my first reaction was: he can't be serious, not that again!-) however, i
tried to find the info by the "obvious" means, and found that to be a rather
sobering experience.

a simple google search does give rather a few relevant answers, but there
are entries on haskell.org that i've just had difficulty finding again, even
though i knew they were there.

i still can't help feeling that using google *and* haskell.org's own search
should have given some more results than the poster seems to be aware
of, but it also seems obvious that we have some serious barriers to finding
such info at the moment:

    - external search engines are currently banned from indexing the wiki,
        where much useful haskell info resides, so one does need to use
        the internal search as well, to find wiki content.

        perhaps the haskell.org main page should emphasise that and also
        repeat the call for volunteers to fix the issue (there was something
        like a consensus to try moving the dynamic parts of the wiki to a
        distinguishable prefix, and banning search engines only from
        that particular part; but someone needs to implement that and
        monitor the effects).

    - the current organisation of wiki indexing seems suboptimal. ide
        related content used to be easier to find, but is now somewhat
        spread out. debugging tools seem to have disappeared completely
        from the most likely indexes (instead one finds some debug libs)?

        the most "obvious" wiki pages are often not uptodate/complete,
        the most "obvious" index headings do not lead to "important"
        entries quickly (or at all). information is sometimes spread out
        over several similar pages/index groups. all of which means that
        information might be difficult to find, and finding a partial source
        of information will miss out on much of the available info.

in best Prolog tradition, perhaps you could say where you've searched,
and someone (i'm calling all of you active haskell.org wiki volunteers:-)
might find a way to put a link to the info right where people are looking?-)

> - syntax highlighting
> - quick navigation (goto symbol, goto instance, find usages, etc)
> - code completion


(i would have expected to see the debuggers linked from that one?)

there's the also obviously named http://www.haskell.org/haskellwiki/IDE ,
but that seems to be in need of an update?

> - cross module refactoring


(hare had vim and emacs interfaces to a gui-less backend, as well as
 an api for writing new refactorings; the idea was that people could
 write interfaces to that backend for their own ide/editor, and submit
 code for additional refactorings; hare's main drawbacks were that
 it is limited to standard haskell [haskell 98], and needs all sources,
 both of which are unlikely in a ghc-based production environment;
 but if you can live with those constraints, it is great [bias warning;-])

> - "debugging" (not imperative debugging, so no breakpoints, but just

there is the obviously named http://www.haskell.org/haskellwiki/Debugging ,
but it doesn't mention all tools. for instance, i only found the following

    "Some Hat user should complete this section"

because i was searching for hat on that page ( http://www.haskell.org/hat/ )

> This does not seem to exist? If this is correct, this is a real shame,

you will need to combine tools, roughly according to the three groups
used above, the first being covered by several good programmable editors,
via haskell-specific modes and plugins, the second by backend tools like
hare (also pluggable into editors), the third by various tools and
libraries. the
main limitation of most tools will be haskell 98, as they were developed
before haskell systems offered haskell apis. that age factor also means
that some of those tools might need to be updated for current compilers/

> Any help to find an IDE that comes closest to these features would be much
> appreciated.

please help to make the information more easily findable in future.
summarize answers or, even better, improve the haskell.org wiki!-)


Haskell-Cafe mailing list
Haskell-Cafe at haskell.org

More information about the Haskell-Cafe mailing list