NYAC – Not Yet an Arc Compiler
As the name suggests, the goal of this project is to build a complete Arc compiler that generates native binary code. Currently it is not Arc compatible, but it is already able to compile itself.
*) Supported platforms
The only platform supported is GNU/Linux on a x86 32 bits CPU.
In order to make nyac work, you will need a working gcc install.
First get it (you will need git installed):
$ git clone git://github.com/stefano/nyac.git
then enter nyac directory:
$ cd nyac
now you’ll need to unpack the precompiled binaries and to set LD_LIBRARY_PATH (this assumes that you’re using bash):
$ tar -jxvf nyac-build-linux-x86-32-‘insert most recent date here’.tar.bz2
$ export LD_LIBRARY_PATH=build-arc:$LD_LIBRARY_PATH
at this point, you should be able to test if it works:
*) Missing features
The two most important ones:
- Lists, vectors, hash tables, etc. in function call position
Others (in no particular order):
- Some function names differ from their Arc equivalent
- Almost all of standard functions and macros are missing
- ‘annotate and ‘rep
- quasiquoting (but the reader expands `… to (quasiquote …) and ,… to (unquote …))
- bignums, ratnums, etc. Only fixnums and floating point numbers are supported
- only ASCII characters are supported
- hash tables are still not implemented
The list could go on… Macros are supported, though.