Applications and libraries/Editors

From HaskellWiki

Applications

  • Yi is a text editor written and extensible in Haskell. It has an own Haskell wiki page, too. The goal of the Yi project is to provide a flexible, powerful and correct editor core scriptable in Haskell. A principle of Yi is that any behaviour can be programmed, so there exist vi, vim, emacs, mg, nano, joe and ee frontends to Yi. Other editor interfaces can be written easily via a lexer specification.
  • Leksah is an IDE for Haskell written in Haskell. Leksah is intended as a practical tool to support the Haskell development process. It is an pre-release phase with bugs and open ends but actively developed and moving quickly. Hopefully, Leksah will already be interesting, useful and fun. Leksah uses GTK+ as GUI Toolkit with the gtk2hs binding. It is platform independent and should run on any platform where GTK+, gtk2hs and GHC can be installed. I have tested it on Windows and Linux. It only supports GHC.
  • hIDE is an IDE for Haskell, based around a dynamic plugin core, and utilising a sophisticated compiler interface to provide syntax colouring, type checking and more.

Libraries

  • EdComb -- Editor combinators allow to assemble structure editors compositionally instead of generating them from descriptions, just as parsing combinators allow to assemble parsers compositionally instead of employing parser generators to generate parsers from grammar descriptions. A fruitfully general approach to the concept of editor is presented. Therefore, these editor combinators can be used also e.g. as browser combinators, with interesting new possibilities for browsers. (The link is broken, but a paper with the code of an old version can be downloaded from here.)
  • Cohatoe -- short for Contributing Haskell to Eclipse. Eclipse is an open, extensible IDE platform, accepting plugins for extending functionality. Normally such plugins are written in Java. Cohatoe enables writing such plugins in Haskell.

This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Applications and libraries.