Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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.
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-modetogether with the Scion minor mode)
- Vim. Currently defunct - maintainer wanted.
- Eclipse. Via EclipseFP. Currently uses a fork of Scion.
- Yi. Status unknown.