Mar 30, 2015
After many years of development, FP Complete is very happy and proud to announce the open sourcing of ide-backend. ide-backend
has served as the basis for our development of School of Haskell
and FP Haskell Center, by providing a high level, easy to use, and
robust wrapper around the GHC API. We'd like to express our thanks
to Duncan Coutts, Edsko de Vries, and Mikolaj Konarski for
implementing this library on our behalf.
ide-backend provides a means to do a variety of tasks involving GHC, such as:
Compile code
Get compile error message
Submit updated code for recompilation
Extract type information
Find usage locations
Run generated bytecode
Produce optimized executables
For much more information, you can see the Haddock documentation.
Members of the Commercial Haskell Special Interest Group have encouraged us to open
source more of our work, to help them build more tools useful to
real-world developers. We're happy to contribute.
ide-backend opens the possibility for many new and interesting tools. To give some ideas:
A basis for providing a fast development web server while working on a code base. The idea here is a generalized
yesod devel
, which compiles and runs your web application on each change.Edward Kmett has a project idea of using ide-backend to extract and organize type information from a large number of packages
Editor plugins can be improved, simplified, and begin to share much more code than they do today
Lightweight tools for inspecting code
Refactoring tools
I've shared information about this repository with some
maintainers of existing tools in the Haskell world already, and
hopefully now with the complete move to open source, we can start a
much broader discussion going.
But today's release isn't just a code release; we also have
demos! Edsko and Chris have been collaborating on some
next-generation editor plugins, and have put together
ide-backend-client with support for both Emacs and Atom. Chris has
put together a screencast of his Emacs integration:
We also have an early prototype tool at FP Complete for
inspecting a code base and getting type information, based on
ide-backend, GHCJS, and React.
Where we go from here
Open sourcing this library is just the first step.
Duncan is planning on writing a blog post describing the architecture employed by this library.
Edsko's ide-backend-client
project is a great place to continue making contributions and
playing with new ideas.
FP Complete intends to release more of our ide-backend based tooling in the future as it matures.
I've asked for a GSoC proposal on a better development web server, and I'm sure other proposals would be great as well
FP Complete and Well Typed are both currently maintaining this library, and we are happy to have new people join the team
I'm excited to hear everyone's thoughts on this library, and look forward to seeing some awesome tools appear.