Developer tools for Haskell
Clone or download
Latest commit b7b2068 Jul 11, 2018

README.md

Travis

Travis Hackage stackage LTS stackage nightly

The goal of this project is to create developer tools for the functional programming language Haskell. Currently this project is about refactoring Haskell programs. We have a couple of refactorings working, with support for using them in your editor, or programmatically from command line.

Available in Atom.

Demo We have a live online demo that you can try

Installation instructions

  • The package is available from hackage and stackage
  • stack install haskell-tools-daemon haskell-tools-cli --resolver=nightly-[current-date]
  • When we are not yet on the latest GHC, the only way to install the latest version is to clone this repository and stack install it. See the stackage nightly badge above.

User manuals

Contribute

How to contribute to the Haskell-tools project?

If you encounter a problem, reporting bugs always helps us.

If you want to help us by making new tools, refactorings or improving existings ones, here are some useful resources for you.

  • We have a general overview of the framework, to let you understand the architecture.
  • The refactoring packages describes how the functionality of the framework is distributed between several packages.
  • A collection of programming tips may help you use the framework as it was intended.
  • The project information page tells how to run, test your code, what are the coding and versioning conventions.
  • You can access the API documentation of the last build, and the latest release.

Write your own refactorings

Write other tools working with Haskell-tools

(Comming soon...)

Integrate the tool with your favourite editor.

By implementing a client to handle a simple protocol you can make your favourite editor work with Haskell-tools. Check out the editor integration tutorial.

Help to improve the framework

This section is for those of you who want to improve the framework to help your refactorings and tools. The limitations section could be a good start where to improve the system.