1. A recent version of GHC.

Compiling DDC requires at least 6.12.1. We use a few GHC specific extensions, so it's unlikely to work with other Haskell compilers.

As of Feb 2010 the Haskell platform still hasn't been released, so if you're using 6.12.1 separately you'll need the following libraries. Later versions will probably work.

 cabal install mtl -p --reinstall
 cabal install QuickCheck- -p
 cabal install regex-base -p
 cabal install regex-posix -p
 cabal install regex-compat -p
 cabal install haskell-src -p

If you want to modify the lexer you will need the Alex lexer generator. If you don't modify the lexer you won't need to install this.

 cabal install alex

Alternatively, if you are on a Debian or Ubuntu based distribution and want to get the required packages via the apt-get package management system you can do so using:

sudo apt-get install ghc6 alex libghc6-mtl-* libghc6-parsec3-* libghc6-regex-* libghc6-quickcheck2-* \
        libghc6-haskell-src-* x11proto-xext-dev libx11-dev libxv-dev
  1. A recent version of GCC.

It's been tested with at least 4.0.1, 4.1.2, 4.2.1 and 4.3.1. Later versions will probably work. We compile C files with the -std=c99 option to GCC, so the code should be fairly portable. We haven't explicitly tested it with other compilers though.

  1. The graphical demos depend on libxv but most Linux distros, and Mac OSX already have this.


  • Build the compiler, runtime system, external libraries and base libraries.
    $ make
  • As above, but also build source docs and run all the regression tests.
    $ make total

More useful build targets are listed at the top of the Makefile