Home   Archive   Permalink



the tone of everything i've read about rebol

i'm interested in learning rebol, but something that's grating on my nerves is how all the written material associated with it takes the tone of an advertisement.
    
i most interested in dialecting, but, because of the breathless tone of everything i've found, i'm not sure if i should be. is "dialect" just rebol's terminology for what other languages call libraries or modules? or is the idea that by having a parse function you can load your own language and parse it to rebol data?

posted by:   david pasquinelli     24-Nov-2017/14:11:44-8:00



The latter for sure.

posted by:   Graham     24-Nov-2017/15:31:32-8:00



I'd recommend a read of Rebol in Ten Steps: http://rebol.info/rebolsteps.html
    
To try and summarize, Rebol is a homoiconic language (both in notation and the in-memory values). Most commonly these values are loaded and interpreted as 'Rebol'. However, blocks of values are not evaluated unless explicitly so:
    
     my-block: [print "Hello World!"]
     do my-block
     reduce my-block
     if true my-block
    
It is therefore possible to handle them in different ways:
    
     parse my-block ['print set value-to-print string! (print ["I am printing:" value-to-print])]
    
PARSE is based on BNF grammar so is quite versatile for defining relatively expressive sub-languages. Note that the rule you supply to PARSE is itself a dialect--if you were to try to evaluate it, things would not go so well:
    
     do ['print set value-to-print string! (print ["I am printing:" value-to-print])]
    
See also:
http://blog.hostilefork.com/why-rebol-red-parse-cool/
https://forum.rebol.info/t/more-than-just-code-a-deep-lake/295
    
An example dialect "StyleTalk": https://github.com/rgchris/StyleTalk#example
    
If the tone is breathless or marketing-esque, it's because it is distinguishing feature of the language, and 'dialect' is a fairly descriptive term: it is what other languages might call a 'Domain Specific Language', but while dialects share the lexical rules of Rebol, they can employ entirely different grammatical rules.

posted by:   Chris     24-Nov-2017/15:35:59-8:00



Also take a look at http://vpavlu.plain.at/REBOL/tutorial/REBOL%20Essentials%2337-09-jan-2003.pdf starting at page 40

posted by:   Nick     25-Nov-2017/4:39:13-8:00



Be sure to see:    
    
http://web.archive.org/web/20120510120959/http://www.rebolforces.com/zine/rzine-1-02.html#sect7
    
Here are some more useful links about dialects and parse (you'll have to ignore the tone in the first one):
    
http://rebolforum.com/index.cgi?f=printtopic&permalink=Nick13-Dec-2013/16:40:11-8:00&archiveflag=archive
    
http://rebolforum.com/index.cgi?f=printtopic&permalink=Nick19-Jan-2014/18:29:47-8:00&archiveflag=new

posted by:   Nick     25-Nov-2017/9:16:58-8:00



Nick--note that the Rebol Forces archive is now republished on rebol.info/forces
    
http://rebol.info/forces/zine/rzine-1-02/#sect7.

posted by:   Chris     26-Nov-2017/11:59:21-8:00



Thanks Chris, that's great to see.

posted by:   Nick     26-Nov-2017/22:55:11-8:00