Bones: A simple Scheme compiler for x86_64 systems(call-with-current-continuation.org)
call-with-current-continuation.org
Bones: A simple Scheme compiler for x86_64 systems
http://www.call-with-current-continuation.org/bones/
5 comments
This is from Felix Winkelmann, who created Chicken Scheme (http://www.call-cc.org). Bones generates assembly instead of C like Chicken, but the choices of intermediate language (CPS) and GC (Cheney) look to be the same.
Is there a Scheme / Racket compiler for the LLVM yet?
The "suggestions for projects" section of the manual (section 15) mentions this as a possible future extension:
> Other backends, say, asm.js or LLVM. This can be quite a challenge, as these languages do not support jumps to arbitrary locations.
> Other backends, say, asm.js or LLVM. This can be quite a challenge, as these languages do not support jumps to arbitrary locations.
There will likely not be one, at least in the short term, as there are plenty of scheme-to-C compilers out there.
Interesting that this should appear just as I was looking for a way to generate ARM assembly (small Cortex-M chips) using a Lisp variant. This isn't quite it, but it looks very interesting and is a step in the right direction.
Same here. But I think this is not just a coincidence taking into count how popular ARM is today.
But why? Is the work on chicken scheme finished? Does it have dead-simple ffi? Does is run on android? Does spock actually work? What's the actual advantage of bones over chicken?
Top Google result for Felix: http://spin.atomicobject.com/2013/05/02/chicken-scheme-part-...