leksah: Haskell IDE written in Haskell

[ development, editor, ide, library, program ] [ Propose Tags ]

An Integrated Development Environment for Haskell written in Haskell.

[Skip to Readme]
Versions [faq] 0.1, 0.1.1, 0.4,,,, 0.4.1, 0.4.2,, 0.4.3, 0.4.4,, 0.6.0, 0.6.1, 0.8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, (info)
Dependencies array (>= && <0.6), base (>= && <4.9), binary (>= && <0.8), binary-shared (==0.8.*), blaze-html, bytestring (>= && <0.11), Cabal (>= && <1.23), conduit (>=1.0.8 && <1.3), containers (>= && <0.6), deepseq (>= && <1.5), directory (>= && <3.1), dyre (>=0.8.3 && <0.9), executable-path (>=0.0.3 && <0.1), filepath (>= && <1.5), ghc (>=6.10.1 && <7.11), ghcjs-codemirror, ghcjs-dom (<0.2), gio (>= && <0.14), glib (>= && <0.14), gtk3 (>=0.13.2 && <0.14), gtk3-mac-integration (>= && <0.4), gtksourceview3 (>= && <0.14), hamlet, haskell-src-exts (>=1.13.5 && <1.17), hgettext, hlint (>=1.8.59 && <1.10), hslogger (>=1.0.7 && <1.3), jsaddle, leksah (==, leksah-server (>= && <0.16), lens, ltk (>= && <0.16), mtl (>= && <2.3), network (>=2.2 && <2.7), network-uri (==2.6.*), old-time (>= && <1.2), parsec (>= && <3.2), pretty (>= && <1.2), pretty-show (>=1.6.3 && <1.7), QuickCheck (>=2.4.2 && <2.9), regex-base (==0.93.*), regex-tdfa (>=1.1 && <1.3), regex-tdfa-text, setlocale, shakespeare (>= && <2.1), strict (>=0.3.2 && <0.4), text (>= && <1.3), time (>=0.1 && <1.6), transformers (>= && <0.5), unix (>= && <2.8), utf8-string (>= && <1.1), vado (>=0.0.1 && <0.1), vcsgui (>=0.1.0 && <0.2), vcswrapper (>=0.1.0 && <0.2), webkitgtk3 (==0.13.*), webkitgtk3-javascriptcore, Win32 (>= && <2.4), yi (>=0.11.2 && <0.12), yi-language (>= && <0.2), yi-rope (>= && <0.8) [details]
License LicenseRef-GPL
Copyright 2007-2014 Juergen Nicklisch-Franken, Hamish Mackenzie
Author Juergen Nicklisch-Franken, Hamish Mackenzie
Maintainer maintainer@leksah.org
Revised Revision 1 made by HamishMackenzie at 2015-08-22T15:29:58Z
Category Development, IDE, Editor
Home page http://www.leksah.org
Bug tracker http://code.google.com/p/leksah/issues/list
Source repo head: git clone https://github.com/leksah/leksah
Uploaded by HamishMackenzie at 2015-06-14T16:50:39Z
Distributions Debian:, NixOS:
Executables bewleksah, leksah
Downloads 32636 total (88 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2015-06-14 [all 1 reports]





Experimental Yi support


Experimental Yi support


Build with support for multithreaded execution


Experimental localization support


Get Network.URI from the network-uri package


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for leksah-

[back to package description]

Leksah, an Integrated Development Environment for Haskell

Build Status

Leksah aims to integrate various Haskell development tools to provide a practical and plesant development environment. The user interface is a mix of GTK+ and WebKit based components.

Documentation can be found on leksah.org.


You can get Leksah up and running quickly on Windows and OS X using the official binaries.

Some Linux distributions include Leksah packages, but building from source on Linux is normally relatively easy.

Building From Source

Building on Linux

Install the GtkSourceView and WebKitGtk development packages for your distribution:

sudo apt-get install libgtksourceview-3.0-dev libwebkitgtk-3.0-dev

Make sure $HOME/.cabal/bin is in your PATH then:

cabal update
cabal install Cabal cabal-install
cabal install alex happy 
cabal install gtk2hs-buildtools
cabal install leksah

Buildling on OS X

Install MacPorts.

Make sure /opt/local/bin and $HOME/Libraries/Haskell/bin are in your PATH.

To avoid a dependency on X11 add the following to /opt/local/etc/macports/variants.conf:

-x11 +no_x11 +quartz +gtk3

Use MacPorts to install python27 and rsync (sometimes it stops to ask for these to be activated so if you do them first it might help):

sudo port install python27 rsync

Use MacPorts to install GHC and the C libraries needed by Leksah (this will take a long time):

sudo port install ghc gtk3 webkit-gtk3 gtksourceview3 gtk-osx-application adwaita-icon-theme

Update Cabal and cabal-install

cabal update
cabal install Cabal cabal-install

Make sure the right cabal made it into your PATH.

cabal --version

Check that the versions match the ones you just installed (if not check the symbolic links in $HOME/Libraries/Haskell/bin).

Install gtk2hs-buildtools and leksah:

cabal install alex happy 
cabal install gtk2hs-buildtools
cabal install leksah

Building on Windows

Install GHC.

Update MinGW if necessary. The GHC installers currently come with old versions of MinGW and you will probably need to replace it with one that comes with gcc 4.8.1. The current 64bit GHC installer seems to be happy to work with newer MinGW. It may not be possible to use the current 32bit GHC installers at all. Make sure you replace MinGW so that GHC will find the new one (just adding it to the PATH will not work). The MinGW used by GHC is typically in a location like C:\Program Files\MinGHC-7.10.1\ghc-7.10.1\mingw. Move it out of the way and put a newer one in its place.

MinGW version used to build the Leksah binaries

Install the C libraries needed by Leksah. The easiest way to do this is to install Leksah using the MSI files. They include pkg-config and all the C libraries needed.

Make sure C:\Leksah\bin and %APPDATA%\cabal\bin are in your PATH and build:

cabal update
cabal install Cabal
cabal install alex happy 
cabal install gtk2hs-buildtools
cabal install leksah

Building Leksah for Windows using Docker

It may seem crazy, but this is currently the best way to bootstrap Leksah for Windows from source. This is mostly because Fedora and SUSE have a much more complete set of MinGW packages than any thing else (including Windows).

Get the leksah source:

git clone https://github.org/leksah/leksah
cd leksah
git submodule update --init

Build it using the Dockerfile:

sudo docker build -t leksah/build .

Copy the resulting msi file out of the container (version number in the file name will match the one in the leksah.cabal file):

sudo docker run --rm --volume $HOME/output:/output leksah/build cp /leksah/win32/leksah- /output