Red/System, the new programming language that is used in the Syllable project, has reached its next milestone: an ARM code generator backend for its compiler. It supports Android (screenshot) and generic ARM Linux (screenshot on Debian). Earlier, the backend for generating Mac OS X executables was already completed (for x86 CPUs so far).
Red now has two complete CPU code generator backends: one for x86 and one for ARM. The new ARM backend supports the ARMv5 architecture and up. This means that all current ARM CPUs are supported except the smallest embedded versions, which use a distinct Thumbs instruction set that is not yet supported by Red.
Apart from these 32 bits CPUs, work has also been done on a code generator for AVR Atmel 8 bits CPUs. This has been demonstrated running on an Arduino board at Software Freedom Day 2011 in the Netherlands (the Arduino demonstration is towards the end of the English spoken video).
Executable file formats now supported are ELF, Mach-O for OS X, PE for Windows and Intel HEX format for embedded devices such as Arduino. ELF support has variations for x86 Linux, ARM Linux, Android and Syllable Desktop. FreeBSD support is under development.
Cross-compiling is trivially easy with Red. For example, the canonical demo program can be compiled to target Android ARM from Syllable Server or any of the other supported host platforms like this:
rebol -s rsc.r -t Android /path/to/tests/hello.reds