This is an Emacs mode for editing, developing and debugging Haskell programs. Home page.
I just want to thank everybody involved in one way or another with the Haskell Emacs tooling. It is one of the best language experiences I had in Emacs. -- cocreature, 2015-03-01
I've been using it for a long time and love it. Great work on haskell-mode! Keep up the good work! -- LukeHoersten, 2015-04-02
This sounds wonderful. Does anything similar exist for Vim? -- earldouglas, 2015-07-02
Users manual: latest version, older versions: 13.12, 13.14, 13.16, 13.18, 13.20.
Make sure you have this in your init
file
(usually ~/.emacs
). If you already have custom-set-variables
,
merge its contents:
(require 'package)
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-archives
(quote
(("gnu" . "https://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/")))))
(package-initialize)
Then run emacs, and evaluate:
M-x package-refresh-contents
and then follow by
M-x package-install RET haskell-mode
Voilà! haskell-mode
is installed! You should be able to edit Haskell
source code in color now.
Haskell-mode
has much much more to offer but the above should get
you going!
For setup instructions, please consult the integrated haskell-mode
Info manual which can be accessed after installation via M-x info-display-manual [RET] haskell-mode
. Alternatively, you can also
direct your browser to the the online haskell-mode
manual for
setup and user guide.
haskell-mode
supports GNU Emacs version 25.1 or later.
haskell-mode
is available from MELPA
Stable (releases) and
MELPA (git snapshots). The latter will generally
be considerably more up-to-date, and is recommended for most users.
Other means of obtaining haskell-mode
include
el-get, Emacs
Prelude and Debian
package.
Running haskell-mode
directly from sources is easy but
requires a little preparation:
-
git clone https://github.com/haskell/haskell-mode.git
into a suitable directory, e.g.~/lib/emacs/haskell-mode/
where~
stands for your home directory. -
Assuming you have unpacked the various haskell-mode modules (
haskell-mode.el
and the rest) in the directory~/lib/emacs/haskell-mode/
, you need to generate various files, the autoloads file (haskell-mode-autoloads.el
) is one among them. Invoke:
make EMACS=/path/to/your/emacs
and then adding the following command to your .emacs
:
(add-to-list 'load-path "~/lib/emacs/haskell-mode/")
(require 'haskell-mode-autoloads)
(add-to-list 'Info-default-directory-list "~/lib/emacs/haskell-mode/")
There are a couple of things to note if you want to install directly from git on macOS systems, as of version 10.13 High Sierra:
-
The version of makeinfo that is installed by default in /usr/bin is quite old and will cause the above make command to exit with an error. Installing the texinfo package using Homebrew will fix this. Be sure to follow the post-install instructions to add its bin directory to your shell's PATH variable.
-
If you are running an Emacs distribution packaged as a macOS application. such as the one available at https://emacsformacosx.com/, you'll need to add its executable to your PATH before the system's default Emacs version. That project's Tips and Tricks page has detailed instructions.
If you followed the above you are just a couple of steps away from
contributing to haskell-mode
.
haskell-mode
is actively seeking contributions from users of
haskell-mode
. For more information have a look at
the wiki page on contributing.