Languages Features Creators CSV Resources Challenges Add Language
GitHub icon

REBOL

REBOL - Programming language

< >

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

#154on PLDB 26Years 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"
; 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

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
hack.html · rebol.html · org.html

View source

- Build the next great programming language · Search · Day 214 · About · Blog · Acknowledgements · Traffic · Traffic Today · GitHub · feedback@pldb.com