A fork of jhc. And also a Haskell compiler.
Haskell C Perl Shell Python Vim script Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
ac-macros Windows install Haskell Platform to directory has path string include… Apr 1, 2013
bugs bugs update Jan 30, 2012
docs Update HSCR 2014 May May 3, 2014
examples add fix for compiling on MacOSX, thanks to Mark Wotton. Aug 19, 2009
lib C{,U}Long become Storable instance, again Feb 5, 2014
po Update manual. Sep 2, 2013
regress Need more stack for nofib.digits-of-e1. BAD... #orz Nov 6, 2013
rts Add _JHC_PROFILE_GCONLY option Apr 13, 2014
selftest Run SelfTest with only 1 thread, and output plain text log. May 23, 2013
src Support new Haskell environment May 22, 2015
src_jahm Retry on jahm. Sep 2, 2013
src_main Split library and program. Jun 7, 2013
travis-ci Use DrIFT again. Do not need derive. (fixed #47) Nov 3, 2013
utils Use hackage.haskell.org. Come back. Sep 2, 2013
.gitignore More gitignore entries. Apr 27, 2013
.travis.yml Update travis setting. Sep 25, 2013
COPYING add explicit lib and rts/ license files Oct 21, 2013
Makefile.am Should set disable profiling option on cabal configure. Oct 3, 2013
Makefile.cabalinst.in Use cabal to compile me and run regress test. Apr 27, 2013
README.md Some fix Jul 29, 2014
Setup.hs.in Use postCopy instead of postInst, because cabal doesn't support it Aug 25, 2014
ajhc.cabal.in Support new Haskell environment May 22, 2015
ajhc.spec.in s/jhc/ajhc/g Mar 2, 2013
configure.ac Bump up version Dec 18, 2013
dot.pbuilderrc Test pbuilder on travis-ci with pbuilderrc file. Mar 2, 2013
library_deps.make Come back bytestring (fixed #46) Nov 6, 2013


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://github.com/ajhc/ajhc.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 http://repetae.net/repos/jhc
$ 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. https://developers.google.com/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.