3 ms·
Blocks in Rebol are not a mere "stuff" delineated by square brackets. Rather, it's a heterogeneous container that can hold first-class values and represent both
by 9214 6y ago
Blocks in Rebol are not a mere "stuff" delineated by square brackets. Rather, it's a heterogeneous container that can hold first-class values and represent both code and data (homoiconic property), thus serving as a base for the syntactically-rich data format.
It also has a well-defined model [1] within the language, and, as such, can be freely operated upon at the run-time.
On a grand scale of language design, blocks form a concrete-syntax tree that can be derived from (or converted to) both textual [2] and serialized binary [3] forms.
Moreso, Rebol's syntax was in fact inspired by Logo. So, the relation between Arturo and Rebol seems to be very superficial; reminds me of Spry [4] that claims to be Rebol-like but is in fact an opinionated Smalltalk.
[1]: http://www.rebol.com/docs/core23/rebolcore-6.html http://www.rebol.com/docs/core23/rebolcore-6.html
[2]: https://pointillistic.com/ren/ https://pointillistic.com/ren/
[3]: https://github.com/red/docs/blob/master/en/redbin.adoc https://github.com/red/docs/blob/master/en/redbin.adoc
[4]: http://sprylang.se/ http://sprylang.se/
- arturoLang 6y agoWell, I didn't say it's a Rebol-derivative. I just said some part of the syntax (which by the way is much more close to Rebol/Red than you think) is inspired by Rebol. I wanted an easy-to-read format and homoiconicity and since there was one already, this was the way to go. Now, Arturo tries to offer much more (that's why I started the project in the first place anyway). I have many-many working examples in the /examples folder of the repo so that you can try it out if you want. All comments, suggestions and ideas are more than welcome! :)