Source code for the Rebol interpreter
C R C++ Other
Latest commit 25033f8 Mar 3, 2014 @carls carls Merge pull request #186 from BrianHawley/fix-2109-function-local-not-…

Fixes FUNCTION and CLOSURE when /local not last refinement


Rebol [R3] Source Code Distribution
Date: 12-Dec-2012
Version: 2.101.0
From: Carl Sassenrath

Build Target:

This first release is intended for non-Windows systems like Linux, Mac, BSD,
Android, etc. However, it will build for Windows, but I've not included the
typical MSVC project files. I'll try to get that added, but it's not that
tough to create one yourself. You will need to set struct align to 4 bytes.

About the Makefile:

You might notice that the makefile is a bit old-fashioned. That's because I
still support Rebol on some very old systems that don't offer newer makefile
features. So, please keep that in mind and stick with this simple format.

Also, the makefile is built by Rebol. Typing "make make" will rebuild it,
and you can also select a different platform target by providing
the Rebol platform identifier typing e.g. "make make OS_ID=0.4.4" (Linux
Libc6 2.11 platform version).

Build Instructions:

Parts of Rebol are built by Rebol. So, to build it, you'll need to download a
running binary into the local make directory. Call it r3-make.

The build happens in the make directory. It will create an obj sub-dir for
storing the object files. I prefer this over mixing the source and object
files into the same directory.

You may need to do "make clean" for clean make session.

The biggest step is to do the "make prep" which will use Rebol to configure
and build a number of important C header files.

If you are building for a new platform that has no existing Rebol, you can use
"make prep" to build all the files you need on an existing platform and copy
them to the new platform.

After the prep, just run "make" or "make r3" and the rest of the system will

Toolchain Note:

Rebol builds on many different compilers over a range of systems. Although
the C source doesn't strictly follow any one standard, it's quite portable
and I've yet to find a toolchain that won't build it. You can even cross
compile it for embedded systems quite easily. If you run into a problem,
it's probably something fairly simple. Don't over complicate it.

Note to Contributors:

I welcome your help with porting Rebol to many more devices and making various
improvements. I just ask that you:

1. Keep code clear and simple.
2. Document unusual code, reasoning, or gotchas.
3. Use same style for code, vars, indent(4), comments, etc.
4. Keep in mind Linux, OS X, BSD, big/little endian CPUs.
5. Test everything, then test it again.

Enjoy your new Rebol freedom,


Bug reporting note:

Report bugs, wishes, etc. at the