c2ff5be4ea
Output now doesn't depend on compiler version |
||
---|---|---|
doc | ||
elisp | ||
Language/Haskell | ||
NotCPP | ||
scripts | ||
src | ||
test | ||
test-elisp | ||
.ghci | ||
.gitignore | ||
.travis.yml | ||
CodingStyle | ||
COPYING.AGPL3 | ||
COPYING.BSD3 | ||
ghc-mod.cabal | ||
ghcmodHappyHaskellProgram-Dg.tex | ||
LICENSE | ||
README.md | ||
Setup.hs | ||
SetupCompat.hs | ||
Utils.hs |
Happy Haskell Programming
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.