Rebolek has made a bold step forward, bringing us ever-closer to the Rebol vision of a 1:1 users-to-implementation ratio of Rebol-like languages:
(Though to be fair, it's more of a Red/System alternative than a "Rebol".)
It's a LOAD-able syntax which is then turned into C code.
Assignment Is Movement, GET-WORD! is "Borrow"
Assigning things moves them.
string! s1: "Hello"
string! s2: s1 ; s1 is now 'moved'
print s1 ; ERROR: Use of 's1' after move
Dialect-wise, he uses GET-WORD! in function specs to indicate "borrowing" without movement. You put the notation on the function argument and also at the callsite:
greet: func [
:name [string!]
] [
print name
]
string! msg: "Hello"
greet :msg ; borrowed -- msg stays alive
print msg ; valid -- msg was borrowed
He Plans To Use It To Make Synth Modules
He had written a synthesizer in a mix of Rust and C++:
But unhappy with the complexity, he felt that a Rebol-inspired language could do it simpler--in particular on the GUI side.
Red/System didn't meet his needs because it isn't 64-bit. ![]()
