This is part 18 in a series of articles on obscure programming languages.
What is REBOL?
REBOL (Relative Expression Based Object Language) is a cross-platform data exchange language and dynamic programming language originally designed for network communications and distributed computing. More recently, REBOL has been used to program client and server-side Internet applications, database applications, and multimedia applications.
Carl Sassenrath, architect and primary developer of AmigaOS, designed REBOL over a 20-year period. REBOL was first released in 1997. The current version 2.7.7 was released in January 2010. An alpha version of REBOL 3 is now available.
Sassenrath based REBOL on his study of denotational semantics, which basically means finding mathematical objects called domains that represent what programs do. Sassenrath used concepts from the Lisp, Forth, Logo, and Self programming languages to build REBOL.
REBOL introduces the concept of dialecting, which uses small, optimized, domain-specific languages to solve specific code and data problems. According to Sassenrath, “Although [REBOL] can be used for programming, writing functions, and performing processes, its greatest strength is the ability to easily create domain-specific languages or dialects.”
Dialects can define business rules and graphical presentation. Programmers can define their own dialects, reusing any existing REBOL word and giving it a specific meaning in that dialect.
Wikipedia provides an example of REBOL dialects: “In the data exchange dialect, return is just a word not having any specific meaning. In the do dialect, return is a global variable referring to a native function passing back a function result value. In the visual interface dialect, return is a keyword causing the layout engine to simulate a carriage return.”
REBOL syntax is free-form and does not require specific positioning. However, indentation is recommended to help convey the program structure to humans. Note that different dialects may have different syntax.
“Hello World” in REBOL
view/title layout [h1 250×120 center middle "Hello world !"] "Hello world !"
- REBOL Official Website
- REBOL Tutorial
- REBOL Developer Network
- REBOL Script Library
- REBOL on Wikipedia
Article published on August 24, 2010
|If you like this article, please share it:|