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.