This is a non-exhaustive list of some of things I've encountered in the past year of switching:
-
Contexts: Rebol 2 had three types of word spaces—SYSTEM/WORDS, OBJECT! and FUNCTION!. Rebol 3 tries to separate this out a bit with a runtime library (LIB) that contains all the 'standard' functions, SYSTEM/CONTEXTS/USER which is where all the regular script words go and imports meanings from LIB as it encounters new words, and MODULES that are kind of like extended objects designed to keep reusable code segments separate. (I've proposed and am working on some changes as to how that works with external scripts)
-
64-bit integers expand the range of Rebol integers, though does cause a few inconsistencies with bit-shifting (can be a gotcha with some binary formats)
-
STRING! types now use multi-byte codepoints—in Oldes' Rebol 3 they are now UTF-8. While the reasons for this are obvious, it does mean that BINARY! and STRING! no longer share the same underlying structure (can't always just do BINARY! -> STRING!)
-
Also READ defaults to returning BINARY!—this takes a little getting used to when transitioning from Rebol 2 but makes sense when you start working with files
-
PORT! models have changed with a view to making them easier to develop. I think this is true, but still tricky.
-
MAP! is an associative array type that has its own lexical form
#[1 "one" two "two"], very useful—I use them a lot (particularly where it has the COMPOSE capability). Also new is the@refconsistent with that user name pattern, and the use of underscore (_) to serve as a literal NONE! value -
ERROR! types are no longer 'hot,' you can create an ERROR! without triggering it, though you have to trigger it if you want it to be noisy
-
Many PARSE additions (I plead indifference to the importance of this, I'd very much like a version of PARSE that only returns the position after matches)
-
Rebol/View and VID exist on the Windows version of Oldes' Rebol 3, though it is not really compatible with Rebol 2 VID, any View applications would have to be rewritten
Rebol 3 is open source, important not least because there is still development long after Rebol Technologies has gone, but also because Rebol runs on 64-bit systems with provision for extensions
Links are to the archive of the Rebol Technologies Rebol 3 development wiki which contains more detailed information, though does not reflect changes since they stopped their development efforts.
Notes about me: Though I was familiar with a lot of the development work on Rebol 3, I was not involved. I primarily developed for Rebol 2 up until the personal systems I used stopped working (mid-2025) and my new systems didn't natively support the Rebol 2 executable.