Personal tools

Emacs

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(Haskell-mode: Added literate programming heading.)
(Added ghc-mod and infobox.)
Line 1: Line 1:
  +
[[Category:Emacs|*]]
  +
{{Haskell infobox}}
  +
 
There are many Emacs packages and modules for Haskell. The most prominent ones are haskell-mode, ghc-mod and Scion.
 
There are many Emacs packages and modules for Haskell. The most prominent ones are haskell-mode, ghc-mod and Scion.
   
Line 6: Line 9:
   
 
Haskell-mode is maintained by Philip Weaver. The official project is [https://github.com/haskell/haskell-mode hosted on Github]. For instructions on installing, see [[Emacs/Installing haskell-mode]]. Issues should be reported to [https://github.com/haskell/haskell-mode/issues the Github project]. Please state the version of Emacs and any relevant configuration, when writing your issue. There is [http://projects.haskell.org/cgi-bin/mailman/listinfo/haskellmode-emacs a low traffic mailing list], too. Generally it is responsive to new posts.
 
Haskell-mode is maintained by Philip Weaver. The official project is [https://github.com/haskell/haskell-mode hosted on Github]. For instructions on installing, see [[Emacs/Installing haskell-mode]]. Issues should be reported to [https://github.com/haskell/haskell-mode/issues the Github project]. Please state the version of Emacs and any relevant configuration, when writing your issue. There is [http://projects.haskell.org/cgi-bin/mailman/listinfo/haskellmode-emacs a low traffic mailing list], too. Generally it is responsive to new posts.
 
* [[Emacs/Keybindings and simple usage]]
 
* [[Emacs/Indentation]]
 
* [[Emacs/Unicode symbols]]
 
* [[Emacs/Inferior Haskell processes]]
 
* [[Emacs/Automatic unit testing]]
 
* [[Emacs/Automatic building]]
 
* [[Emacs/API searching]]
 
* [[Emacs/Code folding]]
 
* [[Emacs/Project navigation]]
 
* [[Emacs/Snippets]]
 
* [[Emacs/Literate programming]]
 
   
 
== Scion ==
 
== Scion ==
Line 31: Line 22:
   
 
The primary repository is at [https://github.com/nominolo/scion nominolo/scion]. An experimental fork featuring GHC7 support can be found at [https://github.com/hvr/scion hvr/scion]. The hackage version is probably outdated, so better use the upstream version.
 
The primary repository is at [https://github.com/nominolo/scion nominolo/scion]. An experimental fork featuring GHC7 support can be found at [https://github.com/hvr/scion hvr/scion]. The hackage version is probably outdated, so better use the upstream version.
  +
  +
== ghc-mod ==
  +
  +
"ghc-mod" is a backend command to enrich Haskell programming on editors including Emacs and Vim. The ghc-mod package on Hackage includes the "ghc-mod" command and Emacs front-end. Its source repository is on github.
  +
  +
Emacs front-end is an extension of Haskell mode. They enable to complete Haskell symbols on Emacs and to browse documents of modules. Flymake with GHC/Hlint is also integrated.
  +
  +
See [http://www.mew.org/~kazu/proj/ghc-mod/en/ the home page] for more information.

Revision as of 10:41, 18 May 2012

Emacs for Haskell

Installing haskell-mode
Keybindings and simple usage
Indentation
Unicode symbols
Inferior Haskell processes
Automatic unit testing
Automatic building
API searching
Code folding
Project navigation
Snippets
Literate programming
Formatting

There are many Emacs packages and modules for Haskell. The most prominent ones are haskell-mode, ghc-mod and Scion.

1 Haskell-mode

The haskell-mode package is a set of major modes for Emacs for writing Haskell code and working with Haskell projects. Features syntax highlighting, intelligent indentation, interaction with inferior Haskell interpreter, code browsing, and Cabal project integration. It support Hugs, GHCi, Cabal and hslint, hoogle, cabal-dev, and other utilities.

Haskell-mode is maintained by Philip Weaver. The official project is hosted on Github. For instructions on installing, see Emacs/Installing haskell-mode. Issues should be reported to the Github project. Please state the version of Emacs and any relevant configuration, when writing your issue. There is a low traffic mailing list, too. Generally it is responsive to new posts.

2 Scion

The Scion IDE library can be used to complement the haskell-mode with additional features, such as (quoting the documentation):

  • Highlights error messages directly in the source, together with a tool-tip
  • Optional on-the-fly typechecking (idle-time based, or whenever file is saved)
  • Completion on `LANGUAGE` names, pragmas, external module names and `OPTIONS`-flags
  • Go to definition sites of symbols at point

Documentation on how to use `scion.el` can be found in the `README.markdown` file.

The primary repository is at nominolo/scion. An experimental fork featuring GHC7 support can be found at hvr/scion. The hackage version is probably outdated, so better use the upstream version.

3 ghc-mod

"ghc-mod" is a backend command to enrich Haskell programming on editors including Emacs and Vim. The ghc-mod package on Hackage includes the "ghc-mod" command and Emacs front-end. Its source repository is on github.

Emacs front-end is an extension of Haskell mode. They enable to complete Haskell symbols on Emacs and to browse documents of modules. Flymake with GHC/Hlint is also integrated.

See the home page for more information.