REBOL (pronounced the same as "rebel") is one that got mentioned a few times. And it sounded quite interesting. But I never talked about it here because it was released under a proprietary license, and as you've probably guessed if this blog wasn't evidence enough, I'm a GPL nerd. Well, as of REBOL3, the language is released under the Apache v2.0 license, which officially makes it Free Software. You can find the complete source here.
It's a fairly recent development, so this isn't one you can
apt-get install quite yet. So, here's how you go about building it on Debian.
You'll obviously need
apt-get install git make
...you'll need to clone the REBOL3 repo.
git clone https://github.com/rebol/r3.git
And then you'll need to download the
r3 binary from this page. If you're on an x86 linux machine, you have a choice of three depending on what version of
libc you have installed. To find that out, run
ldd --version|1|. Once you've go that, unpack it, and rename the new
r3 file to
You're pretty much done. Enter
make make # re-generate the makefile make prep # generate relevant header files make # compile REBOL
After a minute or so, you should have a binary file called
r3 that you can add to your path as a REBOL3 interpreter.
... you have a couple more things to do. Specifically, you need to run this as root|2|
dpkg --add-architecture i386 aptitude update apt-get install ia32-libs apt-get install libc6-dev-i386
That will add the 32-bit versions of libc and some other libraries so that you can actually run the compilation step.
You can find the basic primer here, but the thing that most interests me about REBOL so far is its implementation and use of parse, which you can see demonstrated here, here and here, though there have been changes between REBOL2 and REBOL3. You can find the appropriate Emacs mode here, and I'm already thinking of the changes I want to make to it. Other interesting documentation includes the REBOL3 guide, the list of REBOL3 functions and this SO answer which includes a quick REBOL3 CGI script, though really, anything in the
rebol3 tag is pretty interesting.
1 - |back| -Note that if you're just out to use the language, and don't really care about any of this Software Freedom business, you've already wasted some time. You can just get the appropriate binary and call it a day. I'm getting it because REBOL3 builds part of itself using REBOL3 scripts. And I'm compiling my own because I like being able to see inside of the languages I use, and I'm a big enough nerd to actually do it from time to time, and I've probably spent more time than is strictly healthy listening to Richard Stallman. Proceed or ignore the remaining parts of the process at your discretion.