[Haskell-cafe] IDE?

David House dmhouse at gmail.com
Sun Jun 17 17:51:53 EDT 2007

peterv writes:
 > But people, emacs is sooooo weird for a Windows user... 

Yes, there's no denying this.

 > For example, ALL windows (and motif?) programs use CTRL-Z for undo. But not
 > emacs... So after some googling, I found and installed CUA, to get more
 > Windows compliant keys. CTRL-Z does undo, woohoo! 

My personal recommendation is that as soon as you're familiar with Emacs, turn
off CUA mode. It shouldn't take too long to retrain your brain to use the new
shortcuts, and with CUA mode you can't really use Emacs to its full potential.

 > But CTRL-Y doesn't do redo yet, as in ALL windows programs.

Emacs uses a different (and more powerful) undo model to everyone else. The
'Undo' section of the Emacs tour [1] explains this well.

[1]: http://www.gnu.org/software/emacs/tour/

 > Select a block, press delete. ALL Windows text editors will delete the block,
 > but not emacs, it just deselects the block and deletes the current character.

Place (delete-selection-mode 1) in your .emacs.

 > I also couldn't get the auto indentation working, not sure why, I thought
 > that pressing ENTER would automatically indent my code, especially when I end
 > my line with $. Pressing TAB will not insert a TAB, like in ALL Windows
 > editors.

It's more traditional in Emacs to use TAB to indent code, and Enter (aka RET in
Emacs circles) just creates a newline. You can use C-j to perform a newline and

Make sure you read up on how indentation works in haskell-mode, though,
otherwise you'll confuse yourself. The Haskell wiki page for haskell-mode [2]
would be a good place to start.

[2]: http://haskell.org/haskellwiki/Haskell_mode_for_Emacs#Indentation

 > But I have no interest in learning emacs, I just want to learn Haskell
 > without having to perform too much manual text editing that one does not
 > expect to do in the 21st century :) 

You will have to learn Emacs in order to use Emacs. But once you do, you'll
never go back. That's my experience at least.

 > No pun intended; I know Emacs is an incredible system (I used to work with
 > it on OS/2, and if I recall correctly, I could even read my email right
 > inside of it, heck it could even make me lispy breakfast! ;), but it's just
 > so... alien, at least when looking at it from a Windows perspective. 

In fact I read your mail and am reponding using the excellent VM [3], a mail
reader for Emacs :)

[3]: http://www.wonderworks.com/vm/

 > And that's why IMHO for Windows users, one needs a friendly IDE to get
 > started with Haskell in a modern way. And the Windows version should comply
 > to the Windows styleguides. Haskell is such a nice language, it should reach
 > a larger audience, and just like Concurrent Clean, that could be done by
 > providing a simple IDE.

Emacs isn't a Windows editor, that's for certain. However, that doesn't mean it
isn't worth sticking with.

 > Phew, my frustration leaked into this email, but at least now I got rid of
 > it, sorry guys ;)

It's the same frustration I felt when I was looking for a good Haskell IDE. I
really didn't want to try Emacs because I was under the impression that it would
be arcane and impossible to learn. But it's the most powerful editor around
today, and let me tell you, if you can learn Haskell, you can certainly learn
Emacs :)

-David House, dmhouse at gmail.com

More information about the Haskell-Cafe mailing list