|I've a new working version of arc2c. It will be pushed on the git in the next few hours. It now includes a garbage collector and cons cells. Functions cons, car, cdr and type were added. The list function is not implemented yet (it supposes varargs functions), and quoting a cons cell (or quasiquoting anything) is still impossible. pr and prn work on cons cells too, so that you can display a list.|
(As for GC : I had implemented my own, but it is bugged, inefficient and making the code hard to work with. So I removed it in favor of Boehm GC. For those interested in my attempts, I'll join a file named "fib.c", generated with that home-made GC.)
With the above compiler, I was able to implement a lot of basic stuff : no, len, map, rev, ... In other words, a part of the core functions. That's not a surprise, but I'm happy to see this is working, at least in the basic cases.
Fixnums are now pointers coerced into long ints (and not regular ints anymore) so as to make it work on a maximum of architectures. I haven't include absz's idea (http://arclanguage.org/item?id=5674) yet.
Oh, there are still a few bugs even in the small subset implemented yet I guess, so don't use arc2c in production code :)