Those who have followed our REBOL & Boron conference in February know that Nenad Rakocevic, previously of Cheyenne fame, introduced his new REBOL like programming language there. It's called Red, it's BSD licensed and we are proud to announce that Red programs now run on Syllable Desktop. This is the demo program in the screenshot. Syllable is the third Red target platform, after Windows and Linux.
Contrary to REBOL and Boron, Red is a compiled language. Its name hints at the goal to offer a reduced REBOL dialect that is suitable for compilation, while still being as much like REBOL as possible. The new language is currently being bootstrapped in an ingenious way. The demo program is not written in Red yet, but in Red/System, yet another REBOL like dialect. Red/System is a low level language comparable to C, with similar capabilities. The project is less than half a year old and has been public for a mere three months, but the design and implementation of Red/System are already nearing completion. After that, it will be used to implement the higher level Red language.
Red/System already has several interesting properties. It is a complete compiler toolchain, including a native code generator and a static linker. It is tiny and does not need the huge GCC or the GNU linker. It was ported to Syllable in a collaboration with the REBOL community by making its ELF executable format suitable for Syllable's own in-kernel loader and adapting the embedded kernel syscalls. The compiler is currently written in REBOL 2, which means it must be run on one of the REBOL 2 platforms: Linux, FreeBSD, OpenBSD, Mac or Windows. However, Red/System can trivially be used as a cross-compiler, so Syllable programs can now be cross-developed from those platforms. Once the Red language is implemented, the compiler will be ported from REBOL to Red. It will then also run on Syllable itself, and it will be possible to use Syllable to cross-develop for other Red platforms. Eventually, a JIT compiler will be added, opening even more possibilities with dynamic compilation.