Go to file
2017-01-16 21:58:00 +01:00
Data/Binary Cleanup some redundant constraint warnings 2016-05-22 02:53:51 +02:00
doc Update MELPA URL 2015-11-01 13:57:14 +00:00
elisp Bump version to 5.6.0.0 2016-07-10 23:42:05 +02:00
hackage-metadata Update 5.3.0.0 metadata 2015-12-15 22:59:32 +01:00
Language/Haskell CPP around optparse-applicative and hse conflicts 2017-01-16 21:49:55 +01:00
NotCPP some GHC 8.0.1 fixes 2016-05-18 17:58:34 +02:00
scripts bump.sh: skip bump commit when empty 2016-01-17 20:19:08 +01:00
src CPP around optparse-applicative and hse conflicts 2017-01-16 21:49:55 +01:00
System/Directory NFData fix for ClockTime on GHC 7.4 2016-01-09 17:59:57 +03:00
test Merge branch 'release-5.6.0.0' into release 2016-07-10 23:42:13 +02:00
test-elisp adding test cases for elisp. 2014-04-23 14:51:02 +09:00
.ghci .ghci for ghci-friendliness (testing) 2012-01-22 20:16:22 -08:00
.gitignore Add cabal.project to allow "cabal new-build" 2017-01-12 20:43:19 +02:00
.gitlab-ci.yml Add .gitlab-ci.yml 2017-01-16 20:12:19 +01:00
.travis.yml Time to kill GHC 7.4 support 2016-02-14 10:10:28 +01:00
cabal.project Add cabal.project to allow "cabal new-build" 2017-01-12 20:43:19 +02:00
ChangeLog ChangeLog 2016-07-29 15:18:08 +02:00
CodingStyle adding CodingStyle. 2014-08-12 15:00:56 +09:00
COPYING.AGPL3 Change primary license to AGPL-3 2015-03-03 21:09:18 +01:00
COPYING.BSD3 Change primary license to AGPL-3 2015-03-03 21:09:18 +01:00
ghc-mod.cabal Add tested-with: ghc-7.8 [skip ci] 2017-01-16 21:58:00 +01:00
ghcmodHappyHaskellProgram-Dg.tex Update HCAR entry 2015-10-29 23:43:02 +01:00
LICENSE Add back LICENSE file pointing to COPYING.* 2015-03-05 17:35:29 +01:00
README.md README: Use master branch for travis-ci status image 2015-12-16 21:49:53 +01:00
Setup.hs Remove dependency on Safe from Setup.hs 2016-01-19 21:01:28 +01:00
SetupCompat.hs SetupCompat.hs: remove dependnece on mtl 2015-03-28 19:13:51 +01:00
stack-8.yaml Fix case-split test failures on GHC 7.6 and 7.8 2016-07-10 17:04:15 +03:00
stack.yaml Add Ord instances for Cradle 2016-02-16 21:44:10 +01:00
Utils.hs Fix upper bounds on binary for ghc<7.10 2015-11-26 14:52:25 +01:00

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

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.

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.