Logo: lash (lambda hash)

Download and install libraries

You can use cabal to install the libraries for the GHC-Eden compiler or a threaded simulation of the libraries for standard GHC.
For custom compiler locations:
If you don't use the standard location for the compiler, then you need to link the configure file for cabal .cabal/config to the GHC compiler of your choice. To do so, uncomment and edit the lines:
with-compiler: <PATH_TO_GHC>/bin/ghc
with-hc-pkg: <PATH_TO_GHC>/bin/ghc-pkg
If you don't, then the libraries will be installed for the GHC compiler which is at the default location – even if you include <PATH_TO_GHC>/bin in your PATH.
The easiest way to install a library is to use cabal-install, alternatively you can download and uncompress a package, move inside the packages root directory and run:
runhaskell Setup.hs configure --user
runhaskell Setup.hs build
runhaskell Setup.hs install
You can also compile the libraries and your source code together by copying the library sources in your source tree (just put the folder Control to the root of your source tree).

Eden modules

Edens functionality is provided in the package edenmodules, which is already included in the Eden compiler and available on hackage:
cabal install edenmodules -O2
To get the latest sources use:
git clone git://james.mathematik.uni-marburg.de/edenmodules.git

Skeleton library

Eden offers a rich library of predefined skeletons, these are higher order functions for parallel computations. Edens skeleton library is available on hackage.
For an optimized installation with parallel support enabled execute:
cabal install edenskel -O2
For an optimized installation with parallel support disabled (using a threaded simulation of Eden) execute:
cabal install edenskel -O2 --flags="-par"
To get the latest sources use:
git clone git://james.mathematik.uni-marburg.de/edenskel.git
Note: You will only be able to use the skeleton library with parallel support enabled/disabled if you enable/disable parallel support for your programs correspondingly. This is because the Eden skeleton library imports the sequential simulation Control.Parallel.EdenConcHs or the original parallel version Control.Parallel.Eden dependent on the flags you use to compile it, and links to different runtime systems. If you want to use the skeleton library with parallel support disabled and use Eden functions in your program, then import Control.Parallel.EdenConcHs instead of Eden.
You can reinstall the library with the --reinstall flag to enabled/disabled parallel support.


Grace lets you specify the topology of connected Eden-processes as a graph. This furthers a clean separation between computation logic and communication logic.
Download the Grace library:


or get the latest sources using git:
git clone git://james.mathematik.uni-marburg.de/grace.git
Philipps-Universität Marburg

Eden - Parallel Functional Programming. E-Mail
Fb. 12 - Mathematik und Informatik, Hans-Meerwein-Straße, D-35032 Marburg

This page: http://www.mathematik.uni-marburg.de/~eden

Last change: 14/04/14