The ajhc package

[ Tags: compiler, gpl, library, program ] [ Propose Tags ]

Ajhc is a fork of jhc. The jhc is a haskell compiler which aims to produce the most efficient programs possible via whole program analysis and other optimizations.

The jhc is very minimalist in that it does not have a precompiled run time system, but rather generates what is needed as part of the compilation process. However, back ends do have specific run-time representations of data, which can be affected by things like the choice of garbage collector.

Perhaps you can get internal overview with following compile flow image:

[Skip to Readme]


Dependencies ajhc, array, base (>=4.0 && <5), binary, bytestring, containers, derive, directory, fgl, filepath, haskeline, HsSyck, HTTP, mtl, network, old-time, pretty, process, random, regex-compat, syb, temporary, unix, utf8-string, Win32, zlib [details]
License GPL-2
Author John Meacham <>
Maintainer Kiwamu Okabe <>
Category Compiler
Home page
Source repo head: git clone
Uploaded Wed Jun 19 18:10:07 UTC 2013 by KiwamuOkabe
Distributions NixOS:
Executables jahm, ajhc
Downloads 4507 total (69 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees

Readme for ajhc-

[back to package description]

Ajhc - arafura-jhc Build Status

A fork of jhc. And also a Haskell compiler.

This project is founded by Metasepi Project.

How to install

$ cabal install ajhc

How to build latest version

$ sudo apt-get install make locales autoconf libreadline-dev libwww-perl libconfig-yaml-perl \
  graphviz haskell-platform pandoc hscolour po4a libghc-temporary-dev libghc-haskeline-dev
  libghc-utf8-string-dev libghc-hssyck-dev libghc-test-framework-th-dev libghc-test-framework-hunit-dev
  libghc-test-framework-quickcheck2-dev libgc-dev gcc-multilib valgrind
$ git clone git://
$ cd ajhc
$ git checkout arafura
$ autoreconf -i
$ ./configure
$ make
$ make install

For developing

First, you should use the arafura branch, rather than master branch.

You should send patch to jhc, if testing on Ajhc is good.

$ darcs get
$ cd jhc/
$ patch -p1 < ~/yourfile.patch
$ darcs record -a
$ darcs send

The command darcs send sends email the patch to jhc author (= John Meacham).

Perhaps you can get internal overview with following compile flow image:

Needing to install/build on Windows (experimental)

Install msys

Install below.

  • C Compiler
  • MSYS Basic System
  • MinGW Developer ToolKit

You should run cabal install on msys console.

Install Git for Windows

It's good choosing the below option.

  • "Checkout as-is, commit as-is"
  • "Run Git and included Unix tools from the Windows Command Prompt"

Install Haskell Platform

Future plan