ajhc

Haskell compiler that produce binary through C language http://ajhc.metasepi.org/

Latest on Hackage:0.8.0.10

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

GPL-2 licensed by John Meacham
Maintained by Metasepi team

Ajhc - arafura-jhc

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 libncurses5-dev gcc m4 patch
$ cabal install drift
$ 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.

License

comments powered byDisqus