tags:

views:

15247

answers:

14

I typically use Emacs with hasktags for editing Haskell but I would like to enumerate all the choices and hopefully get feedback on each.

If you've used one of the above, please tell me what you liked and didn't like about using it as a Haskell editor. I'm especially looking for something that gives me control over lots of the project management issues. Hopefully it can quickly navigate to source, show me haddock snippets on demand, look up type signatures and even help with refactoring. Further integration with hoogle and lambdabot are appreciated as well.

+10  A: 

I've mostly been using Vim. There are some instructions here about how to tweak your Vim config for Haskell.

I did also try using IntelliJ IDEA, which I use for Java. I found a syntax-highlighting extension for it.

EDIT: You can also add Haskell refactoring support to Vim and Emacs with the HaRe (Haskell Refactorer) project. I haven't tried it myself.

Dan Dyer
What did you like and dislike about using Vim for this task?
Jason Dagit
Vim is Vim. You probably already know whether you love it or hate it. It's available on all the platforms that I use and it isn't Emacs. A combination of Vim and GHCi works reasonably well for me when developing Haskell. I can navigate between multiple files fairly painlessly.
Dan Dyer
i second the comment about the Vim learning curve
Matt
+1  A: 

I agree with the comments about FUD. Haskell is as ready as a language can be. Unfortunatly it's also true that the whole "support tools" -- one is used to e.g in Smalltalk, Java, C, C++, Delphi, Visual Basic etc etc. -- is lacking. There is just the beginning of a debugger, in that regard e.g Ocaml is miles ahead of Haskell. Browsing facilities are also very "doubtful".

I'm using XEmacs mostly, but am fully aware that I wished for better support. I guess in the end not too many are that "unhappy" with it. Maybe it's just me....

Regards

Friedrich
What are browsing facilities?
Jason Dagit
Well in Smalltalks there is alwaya a browser to browse the hierachy of Classes, one has something similiar in Haskell like e.g Num etc. and of course you've types like lists etc, and I'd found it nice if one could easy browse those types.
Friedrich
A: 

Try out E/TextMate. It has a Haskell Bundle for highlighting/folding, snippets of commonly used code and very tight integration with the shell for quick commands and building your own commands.

It doesn't auto-complete code, but it is light as hell and stays out of your way in the same way as Vi/Emacs (for which we love them).

main program (OS X)

main program (Windows)

get the haskell language bundle

+2  A: 

I've used EclipseFP and I thought it was "good enough", but I surely wouldn't call it great. Basic syntax highlighting (including the preamble but annoyingly hopeless at helping me with parentheses) and it integrates with the standard Outline view for navigation and a console view for an interactive GHCi or hugs session. That's pretty much it. It's a bit quirky depending on which Eclipse perspective you try to do things in, and I've had cases where the background compilation has either returned unhelpful error messages or simply stopped working at all.

Other than that, it doesn't offer much over a vanilla text editor. I still end up using :t and :r in the interactive session a lot, and still end up in a shell and digging out command-line options from the html help. There still seems to be a massive void for good 'visual' tools.

Chris
A: 

I used both EclipseFP and VIM. I liked the background compilation feature in eclipse where you get annotations about possible compilation error during typing.

Can't say much about VIM - its just a matter of personal taste :)

haggai_e
A: 

@ Marcin:

Haskell has seen much success in writing real applications (i.e. not theorem provers). Here is a link to a list of applications using haskell:

http://www.haskell.org/haskellwiki/Applications

To just mention a few:

XMonad: a window manager for X.

Monadius: a 3D fps opengl game.

Pugs: a working Perl 6 implementation.

Darcs: a very sophisticated revision control system. Some claim it has more useful features than git, but I wouldn't know personally.

Yi: an extensible text editor.

How is that related to the question? Have a downvote.
samoz
+8  A: 

I am surprised no one has mentioned notepad++. Can't really be called an IDE (but that's the case for most of those that were named in this thread anyway) but it highlights haskell syntax and has nice features as an editor.

-1: I'll sacrifice wasted points and downvote to bump Vim answer (notepad++ is far more poor).
gorsky
Vim is only beneficial to those who want to take the time and effort to learn it. Its not exactly a shallow learning curve. Notepad++ provides a reasonably good editor without the learning curve.
Daniel Brotherston
-1 I cannot consider Notepad++ a serious IDE. I like to use it for small things like briefly looking at some HTML source, but would never use it for a large project.
Alex Baranosky
I think Notepad++ is windows only. Most Haskell hackers appear to be on different platforms than windows, so to a large degree that probably kills its popularity here.
Jason Dagit
Notepad++ has so few features compared to Vim, this comment is like suggesting to clean a Bathroom with a toothbrush instead of all the better tools because, after all, they're both just cleaning tools are they not.No, use Vim because in the long run I can guarantee that you will see why; the moment that you really start to use Vim's true feature set.
Robert Massaioli
Notepad++ is not a good tool for intensive haskell programming =p
Alessandro Stamatto
I'm a die hard VIM user but I must say most of us are very religious. I actually agree that VIM's learning curve is too steep to suggest anyone not already using it. Notepad++ seems to be a viable alternative (though my personal favorite would be EclipseFP)
kizzx2
A: 

Here is similar question: Haskell IDE for windows? with accepted answer.

Grzegorz Gierlik
-1, Good question, but it's not a valid answer here.
Jason Dagit
+2  A: 

Leksah

Description from website:

Leksah is the Haskell IDE of choice. It is written in Haskell, uses Gtk, and runs on Linux, Windows and Mac OS X. Leksah is a practical tool to support the Haskell development process. It requires the Glasgow Haskell Compiler (GHC).

Nick Whiu
The question already links to the Leksah website. This answer adds nothing.
Nefrubyr
A: 

The Haskell mode for Emacs is nice. The auto-indentation works pretty well and it has nice in-editor support for sending your code to the Haskell interpreter or searching Hoogle for a function name or type.

Phob
A: 

VIM is a total piece of crap ... I just spent an hour trying to get it to startup with a font larger than 7pt. Every tutorial on the web was flat out wrong and did not work.

VIM Sucks
A: 

Also see HEAT http://www.cs.kent.ac.uk/projects/heat/

A: 

I use both Vim and Emacs for Haskell. I feel myself more productive with Vim, but Emacs is better for literate Haskell, because it has mmm-mode (different indentation rules for code chunks).

As for editors with no learning curve, gedit edits Haskell well too.

I don't use an IDE, but I keep an editor window and a terminal with ghci open side by side. This allows me to try and experiment with the code as I write it, or try something in GHCi first, and then write the code. I build the program with cabal and test it in another terminal tab. The browser with documentation and references usually stays open on the other virtual desktop, one key press away.

jetxee
A: 

I have been working with Notepad++ & GHCi. I am trying leksah which have some IDE features as auto compiling and some cool features as indicating \ with greek letter(l), -> with right arrow.

napoleonss