Haskell IDE for Windows? [closed]

I really searched on this one. (E/TextMate is the closest I found in this topic, but it doesn't seem to be that big of deal)

I tried emacs, but I don't seem to find a Haskell Mode for Windows.. VisualHaskell doesn't seem to follow the new VisualStudio updates...

I could try VIM, but does the Haskell Mode works for Windows there?

Sigh... All the time the 'close but no cigare' feeling.

Is there actually so out there programming Haskell under Windows?


I think the main IDE-ish options for Windows are, in order:

  1. Using Eclipse as your Haskell IDE
  2. Leksah, an integrated IDE for Haskell written in Haskell.
  3. Visual Haskell (unknown recent status)
  4. Vim + Haskell
  5. Emacs + Haskell

I use option 4.


Tip for Emacs on Windows:

  • Download ntemacs and extract ntemacs24-bin-xxxxxxxx.7z in your favourite location e.g. D:\
  • Create desktop shortcut for D:\ntemacs24\bin\runemacs.exe and run Emacs
  • Go to C:\Users\UserName\AppData\Roaming\.emacs.d\
  • Create a directory haskell-mode and put in it files: haskell-mode.el, haskell-font-lock.el, haskell-doc.el from Haskell mode for Emacs
  • In ..\emacs.d\ create a file init.el

First 8 lines are optional and depend on the preferences.

(tool-bar-mode -1)
(scroll-bar-mode -1)
(setq-default truncate-lines t)

(setq line-number-mode t)
(setq column-number-mode t)

(set-keyboard-coding-system 'cp1250)
(prefer-coding-system 'windows-1250)

(set-face-attribute 'default nil :font "Consolas-11")

(setq-default indent-tabs-mode nil)
(setq default-tab-width 4)

(load "~/.emacs.d/haskell-mode/haskell-mode")

(add-to-list 'auto-mode-alist '("\\.hs\\'" . haskell-mode))
(add-to-list 'auto-mode-alist '("\\.lhs\\'" . literate-haskell-mode))
(add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode)

That's it!

Ps Komodo Edit has syntax support for Haskell.


Another option is Sublime Text, which is easily the best general-purpose code editor I've encountered. It generally fills the same niche as Vi/Vim or EMACS, but generally follows modern interface standards, and has some really useful features that I haven't seen in any other editors, such as the minimap and multi-selection (hit ctrl-d with some text selected, and it will select the next instance of the same text, while still keeping the old selection intact, essentially putting your input cursor in two places, so you can edit them both in tandem).

The standard download comes with basic Haskell syntax highlighting. If you want more functionality, there is a plug-in called SublimeHaskell that adds Cabal support for much smarter auto-completion and limited linting. To install that, you first want to install Sublime Package Control (very easy to do, just copy a string from their Installation section into Sublime's internal command-line), restart Sublime, and use the package control to install SublimeHaskell (hit ctrl-shift-p, type "package", select "Package Control: Install Package", then type "haskell" and select "SublimeHaskell", then restart Sublime).

It even has the ability to build from within the editor (Tools -> Build, or ctrl-b). This feature only supports a limited set of languages, but fortunately Haskell is one of them.


SublimeText

Sublime Text is a very stylish and comforting editor. It's not an IDE but it can build your project, work with it as a project and is highly customizable. In difference to IDEs it's very lightweight and the "Distraction free" feature is just mindblowing. It is also cross-platform, seamlessly supporting all three major OSs.

After installation of Soda Theme it becomes even more pleasant for the eye.

SublimeHaskell plugin

There is also a third party plugin SublimeHaskell, which enables the editor with in depth support for cabal, linting, autocompletion and stuff like that.

The only thing the SublimeText solution cannot do yet is refactoring, but then again none of the competing solutions can.