Skip to content
A fork of jhc. And also a Haskell compiler.
Haskell C Perl Shell Python VimL Other
Find file
Failed to load latest commit information.
ac-macros Windows install Haskell Platform to directory has path string include…
bugs bugs update
docs Update HSCR 2014 May
examples add fix for compiling on MacOSX, thanks to Mark Wotton.
lib C{,U}Long become Storable instance, again
po Update manual.
regress Need more stack for nofib.digits-of-e1. BAD... #orz
rts Add _JHC_PROFILE_GCONLY option
selftest Run SelfTest with only 1 thread, and output plain text log.
src Support new Haskell environment
src_jahm Retry on jahm.
src_main Split library and program.
travis-ci Use DrIFT again. Do not need derive. (fixed #47)
utils Use Come back.
.gitignore More gitignore entries.
.travis.yml Update travis setting.
COPYING add explicit lib and rts/ license files Should set disable profiling option on cabal configure. Use cabal to compile me and run regress test. Some fix Use postCopy instead of postInst, because cabal doesn't support it Support new Haskell environment s/jhc/ajhc/g Bump up version
dot.pbuilderrc Test pbuilder on travis-ci with pbuilderrc file.
library_deps.make Come back bytestring (fixed #46)

Ajhc - arafura-jhc

*** We are closing Ajhc project. ***

Metasepi Arafura iteration is closed. We decided to use ATS Programming Language for our next iteration. After merging Ajhc's Context Local Heap into jhc, this project will be shutdown.

Please use jhc instead of Ajhc.

A fork of jhc. And also a Haskell compiler. This project is founded by Metasepi Project.

Build Status

  • Build Status Ubuntu
  • Build Status Mac OS X

How to install

$ sudo apt-get install haskell-platform gcc m4 patch libncurses5-dev
$ cabal install drift
$ export PATH=$PATH:$HOME/.cabal/bin
$ cabal install ajhc

How to build latest version

$ sudo apt-get install make locales autoconf drift \
  libconfig-yaml-perl graphviz haskell-platform cpphs 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 libghc-uniplate-dev libgc-dev gcc 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:

Future plan

  • Benchmark (speed, memory size, compare with eLua/mruby/.NET Micro Framework)
  • No more depend on Perl (LWP and YAML).
  • Port Haskell libraries on haskell-platform to Ajhc.
  • Understand jhc's region inference.
  • Play with Google Native Client.
  • Write Linux kernel driver with Haskell.
  • Get smaller RTS. Benchmark the RTS for running on custom FPGA CPU.
  • Start rewritng NetBSD kernel with Ajhc.


Something went wrong with that request. Please try again.