Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

REBOL

< >

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

#424on PLDB 27Years Old 30kRepos
Homepage · REPL · Try It Online · Wikipedia · Docs

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 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 X

- Build the next great programming language · Add · Issues · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements

Built with Scroll v154.3.0