Questions Concepts
GitHub icon

REBOL

REBOL - Programming language

< >

REBOL, aka Relative Expression-Based Object Language, is an open source programming language created in 1997 by Carl Sassenrath.

#158on PLDB 26Years Old 30kRepos

Try now: Riju · TIO

Rebol ( REB-əl; historically REBOL) is a cross-platform data exchange language and a multi-paradigm dynamic programming language designed by Carl Sassenrath for network communications and distributed computing. It introduces the concept of dialecting: small, optimized, domain-specific languages for code and data, which is also the most notable property of the language according to its designer Carl Sassenrath: Although it can be used for programming, writing functions, and performing processes, its greatest strength is the ability to easily create domain-specific languages or dialects Douglas Crockford, known for his involvement in the development of JavaScript, has described Rebol as "a more modern language, but with some very similar ideas to Lisp, in that it's all built upon a representation of data which is then executable as programs" and as one of JSON's influences. Originally, the language and its official implementation were proprietary and closed source, developed by REBOL Technologies. Read more on Wikipedia...


Example from Riju:
REBOL [Title: "Main"] print "Hello, world!"
Example from hello-world:
print "Hello World"
; Hello World in REBOL print "Hello World!"
Example from Linguist:
Rebol [] hello: func [] [ print "hello, world!" ] hello
Example from Wikipedia:
Digit: charset [#"0" - #"9"] Value: [some Digit | "(" Expr ")"] Product: [Value any [["*"| "/"] Value]] Sum: [Product any [["+"| "-"] Product]] Expr: Sum parse/all "12+13" Expr

Language features

Feature Supported Token Example
Strings " { }
"Hello world"
{He said "That looks good!"}
Print() Debugging print probe
Lists
my-list: [1 two 3.0 "four"]
Line Comments ;
; A comment
Homoiconicity
Garbage Collection
Exceptions
catch [throw 22 print "You'll never see this."]

try/except [read %does_not_exist] [print "File not found"]
Comments
Disk Output
write %helloworld.txt "Hello, world!^/"
Semantic Indentation X

View source

- Build the next great programming language · Search · Add Language · Features · Creators · Resources · About · Blog · Acknowledgements · Queries · Stats · Sponsor · Traffic · Traffic Today · Day 305 · feedback@pldb.com · Logout