nominolo edited this page Nov 1, 2010 · 4 revisions
Clone this wiki locally


Scion (pronunciation) is a Haskell IDE library. Scion provides services that can be useful for a Haskell IDE. This currently includes:

  • Type checking source files and reporting errors and warnings. This may be done incrementally.
  • Query information about identifiers at a given location in the file. (E.g., type lookup.)
  • Jump to definition (within current project).

Future planned features:

  • Automatic import management
  • Default fixes for certain error and warning classes. E.g., suggest language extensions.
  • Semi-automatic management of .cabal files.
  • Profiling and debugging support.
  • Refactoring.
  • etc.

Scion is based on the GHC API and aims to support many frontends. Scion is implemented as a server and communicates with the frontend via RPC. The frontend can choose between a number of serialisation formats; the current default is JSON. Session state management is handled by the Scion server.


Current IDEs/editors using Scion include:

  • Emacs. This is included in this repository. Use the standard haskell-mode together with the Scion minor mode)
  • Vim. Currently defunct - maintainer wanted.
  • Eclipse. Via EclipseFP. Currently uses a fork of Scion.
  • Yi. Status unknown.