Haskell

Haskell is a purely-functional programming language.

Getting started
See:

Compiler and interpreter

 * The probably most important and up-to-date Haskell-implementation is the Glasgow Haskell Compiler (GHC). You can install it with:


 * The package also includes an interpreter called GHCI (except on the ARM-architecture).


 * Furthermore, there's Hugs, an (meanwhile (almost) out-dated) interpreter for Haskell98. You can install it with:

Cabal
With cabal you can package and build libraries and programs. Install it with:

Updating Haskell packages
Sometimes:

[code]emerge -auvDN --keep-going world[/code]

has trouble figuring out how to update Haskell packages. Providing emerge with the full list of dev-haskell packages that have upgrades available can sometimes help:

[code]eix-update emerge -av --oneshot --keep--going `eix --only-names --upgrade -C dev-haskell` haskell-updater [/code]

Hoogle with local installation
The Hoogle ebuild is currently only available in the offical gentoo-haskell overlay. So add that first.

In order to get the an offline installation of all hoogle data, you need to enable the "doc","hscolour" and "hoogle" use flag.

Enable the relevant use flags for hoogle to store all data local, and emerge hoogle

After emerging haskell packages, the hoogle database of the locally installed packages is updated by running:

Haskell Mode
The Haskell-Mode for (X)Emacs makes programming easier; install it with

for GNU Emacs, or with

for XEmacs.

Then, you can configure it with.

ghc-mod
The official gentoo haskell overlay provides an ebuild for ghc-mod, an extension of Haskell mode. Add the overlay with

Then, install the ebuild

Haskell-Mode for Vim
There's also a Haskell-Mode for Vim.

IRC
For further information and individual help, visit  or   on.