Charming Ruby Compiler, Not So Charming

January 12, 2006

Earlier this month on the ruby-core mailing list there was a post about the Charming Ruby Compiler (CRC), which looks promising. It's a preliminary Ruby to C-- compiler. Unfortunately, it's also got GNOME-style dependencies (i.e. from hell). You can grab a pre-compiled binary for CRC, but the C-- compiler itself depends on both Objective CAML and Lua.

For some reason, I just don't feel like installing the runtime and development libraries for three separate programming languages just to try out a preliminary compiler for one programming language.

The thread wasn't a total loss, however. I learned about both Neko and LLVM, and they both look interesting. Neko is a lightweight VM for dynamic languages (like Ruby and Python) written in ANSI C. Instead of targeting assembly, and compiling that to bytecode, Neko provides it's own low-level programming language with primitives for things like strings, numbers, and objects. Seems like Neko has a lower barrier to entry than Parrot, although the lack of an encoding attribute for string elements kind of bothers me -- maybe that's something higher-level languages are supposed to take care of?

On another note, I've generated the HTML for this post using BlueCloth, a Markdown processor for Ruby. If you can get over the funky bracket syntax for links, Markdown does seem to make writing posts a whole lot easier. All I need now is a decent post-processor for acronyms and I'd be set. Maybe I'll come up with something for my new page backend, if it ever gets completed.