Rebol (Relative Expression Based Object Language) ist eine von Carl Sassenrath entwickelte, dynamische Programmiersprache, die 1997 erstmals veröffentlicht wurde. Sassenrath hatte zuvor das Exec-Multitasking-System des Amiga entworfen. Rebol wurde als Message- und Daten-Austauschsprache konzipiert: Code ist zugleich Daten (homoikonisch) und lässt sich kompakt über Netzwerke übertragen. Viele Datentypen wie Datum, Zeit, E-Mail-Adresse, Tupel oder Geldbetrag sind direkt in der Sprache eingebaut.
Erste Schritte
Der Rebol-Interpreter wird mit rebol gestartet, Skripte als rebol skript.reb ausgeführt:
print "Hallo, Rebol!"
print now
Wichtige Befehle und Konzepte
print,prin— Ausgabe mit bzw. ohne Zeilenumbruchhead,tail,append,insert,remove— Serien (Listen) bearbeitenforeach element liste [...]— Schleife über Serieneither bedingung [dann] [sonst]— if/else in einem Wortempty? liste— Prädikate enden auf?, verändernde Funktionen auf!parse text [Regeln]— der PARSE-Dialekt ersetzt reguläre Ausdrücke
Dialekte
Rebol besteht aus wenigen Kernfunktionen; Anwendungsbereiche entstehen durch Dialekte — eigene Unter-Sprachen innerhalb von Rebol. Bekannt sind der PARSE-Dialekt für Textanalyse und der VID-Dialekt (Visual Interface Dialect) für grafische Oberflächen. Rebol 2 blieb proprietär, Rebol 3 wurde 2012 unter der Apache-2.0-Lizenz veröffentlicht.
Verwandte Sprachen: Red-Befehle (Open-Source-Nachfolger), Pike-Befehle (ebenfalls dynamisch und netzwerkorientiert), Lua-Befehle, Python-Befehle.