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 Zeilenumbruch
  • head, tail, append, insert, remove — Serien (Listen) bearbeiten
  • foreach element liste [...] — Schleife über Serien
  • either bedingung [dann] [sonst] — if/else in einem Wort
  • empty? 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.