Wednesday, August 25, 2010

REBOL: Obscure Programming Language of the Month

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.
REBOL Design
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 250x120 center middle "Hello world !"] "Hello world !"
Read more: DevTopics
Read more: Rebol