Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Happy Haskell programming for editors
Haskell Emacs Lisp Other

README.md

Happy Haskell Programming

Build Status

Please read: http://www.mew.org/~kazu/proj/ghc-mod/

Using the stable version

The Emacs front-end is available from stable MELPA. This package should always be compatible with the latest version of ghc-mod from hackage.

To use stable stable MELPA add this to your .emacs:

(require 'package)
(add-to-list 'package-archives
         '("melpa" . "http://melpa-stable.milkbox.net/packages/"))
(package-initialize)

With this configuration you can install the Emacs front end from MELPA (the package is called ghc there, not ghc-mod) and install the ghc-mod/ghc-modi binaries from hackage by doing:

% cabal update && cabal install ghc-mod

Nix & NixOS

The installation is a little more involved in this environment as Nix needs some ugly hacks to get packages using the GHC API to work, please refer to this stackoverflow answer:

http://stackoverflow.com/a/24228830

Using the development version

The easiest way to hack on ghc-mod is compile it, then add dist/build/ghc-mod and dist/build/ghc-modi to your PATH and add the elisp/ directory to your Emacs load-path.

Make sure you're not using the MELPA version of ghc.el otherwise you might get all sorts of nasty conflicts.

Custom ghc-mod cradle

To customize the package databases used by ghc-mod, put a file called ghc-mod.cradle beside the .cabal file with the following syntax:

temp directory root
package db 1
...
package db n

each package database line is either a path to a package database, or global or user.

IRC

If you have any problems, suggestions, comments swing by #ghc-mod (web client) on Freenode. If you're reporting a bug please also create an issue here so we have a way to contact you if you don't have time to stay.

Do hang around for a while if no one answers and repeat your question if you still haven't gotten any answer after a day or so. You're most likely to get an answer during the day in GMT+1.

Something went wrong with that request. Please try again.