PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

REBOL

REBOL

REBOL, aka Relative Expression-Based Object Language, is a pl created in 1997 by Carl Sassenrath.

#154on PLDB 25Years Old 326Users
3Books 0Papers 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"
Example from the Hello World Collection:
; 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 Example Token
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 ϴ

Books about REBOL on goodreads

title author year reviews ratings rating
Rebol for Dummies [With Rebol for 37 Systems] Ralph Roberts 2000 0 5 3.00
Rebol Programming Olivier Auverlot 0 0 0.0

Books about REBOL from ISBNdb

title authors year publisher
Rebol Programming Olivier Auverlot Wiley Technology Publishing
org.html · rebol.html · owl.html

View source

PLDB - Build the next great programming language · v2022 · Day 33 · Docs · Build · Acknowledgements · Traffic Today · Traffic Trends · Mirrors · GitHub · feedback@pldb.com