ajhc / Ajhc
Licence: other
A fork of jhc. And also a Haskell compiler.
Stars: ✭ 133
Programming Languages
haskell
3896 projects
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. The jhc-components may be useful, if you can't build original jhc.
A fork of jhc. And also a Haskell compiler. This project is founded by Metasepi Project.
Build Status
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.
- master branch: Do not touch me, mirror of jhc's darcs repository.
- arafura branch: For developing Ajhc.
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
- Runtime: MIT License
- Haskell libraries: MIT License
- The others: GPLv2 or Later
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].