Happy Haskell Hacking for editors
Haskell Emacs Lisp Shell Other
Latest commit 8be4885 Dec 6, 2016 @DanielG committed on GitHub Merge pull request #854 from l984/master
Fix for "ghc-mod doc" when used with stack projects
Failed to load latest commit information.
Data/Binary Cleanup some redundant constraint warnings May 22, 2016
Language/Haskell Fix for "ghc-mod doc Data.Maybe" when used with stack projects Dec 4, 2016
NotCPP some GHC 8.0.1 fixes May 18, 2016
System/Directory NFData fix for ClockTime on GHC 7.4 Jan 9, 2016
bench Add a criterion benchmark Jul 18, 2016
doc Update MELPA URL Nov 1, 2015
elisp Redirect error ouput in `ghc-run-ghc-mod' Aug 8, 2016
hackage-metadata hackage-meta: Fix 5.6 dependencies Nov 1, 2016
scripts hackage-meta: update upload script Nov 1, 2016
src Merge branch 'browse-print-parent' of https://github.com/atom-haskell… May 14, 2016
test-elisp adding test cases for elisp. Apr 23, 2014
test [Test] Write stack.yaml directly instead of `stack init` Aug 28, 2016
.ghci .ghci for ghci-friendliness (testing) Jan 23, 2012
.gitignore Gitingore test project stack.yaml Aug 28, 2016
.travis.yml [Travis] Add doctest Aug 9, 2016
COPYING.AGPL3 Change primary license to AGPL-3 Mar 3, 2015
COPYING.BSD3 Change primary license to AGPL-3 Mar 3, 2015
CodingStyle adding CodingStyle. Aug 12, 2014
LICENSE Add back LICENSE file pointing to COPYING.* Mar 5, 2015
README.md README Oct 26, 2016
Setup.hs Setup.hs: remove useless stuff Sep 7, 2016
SetupCompat.hs Setup.hs: remove useless stuff Sep 7, 2016
Utils.hs Fix upper bounds on binary for ghc<7.10 Nov 26, 2015
ghc-mod.cabal Remove redundant build-dependency Sep 7, 2016
ghcmodHappyHaskellProgram-Dg.tex Update HCAR entry Oct 29, 2015


Happy Haskell Hacking

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" . "https://stable.melpa.org/packages/"))

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

ghc-mod works fine for users of Nix who follow a recent version of the package database such as the nixos-15.09 or nixos-unstable channel. Just include the package ghc-mod into your ghcWithPackages environment like any other library. The Nixpkgs Haskell User's Guide covers this subject in great detail.

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.package-db-stack 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.


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.