Brian Wisti is a Programming Geek (read his geekeries here) who once confessed:
I’ve come across the first language that I don’t want to tell you about. I don’t know why I want to keep REBOL a secret.
Most Geeks will pass by Rebol because of its apparent simplicity. They may think: “if it’s for mere mortal it ain’t for me”. But there’s more than meets the eyes, so if you once encountered Rebol without even looking at it, come back now from this refreshed viewpoint.
In previous installment, I gave you a glimpse of where Rebol’s power comes from: its Code-Data Duality is the source. A Rebol’s Object is constructed simply by appending a block to make object!.
Rebol’s object is in fact based on a core concept in Rebol which is a Context. In fact you can even view in Rebol’s source code that a Context is just an Object by typing in Rebol’s Console “Source Context” (Remember Use the SOURCE, Luke! :)):
>> source context
context: func [
"Defines a unique (underived) object."
blk [block!] "Object variables and values."
][
make object! blk
]
Context is operationally just a function which returns an Object.
At first glance, Context ressembles Variable Scoping in other programming languages. But as Gregogy Higley just put it in his last article on Rebol’s Bindology:
REBOL words carry a reference to their context with them. It’s not where a word is evaluated that makes the difference, but where it’s declared. Because of this, it’s entirely possible to have a block containing [x x x] in which each x was declared in a different context and each one has a completely different value!
And he astutely illustrates this with an example of his own. I strongly recommend that you read his whole article before tackling Ladislav Mecir’s infamous one on “Rebol Words and Contexts [the relation between], alias Bindology”. Many Rebol fans have tried twice++ to understand this amazing piece of Philosophy and got a headache, I have myself and I hope I’m now better armed thanks to Gregogy Higley’s article - long live his Rebol’s writing :).
![]()


















Tags: binding