REBOL (Relative Expression Based Object Language) è considerato un linguaggio di scambio dati che può essere utilizzato su un’ampia varietà di piattaforme. È stato inventato da Carl Sassenrath per agire come un linguaggio di programmazione per computer dinamico multi-paradigma. Lo scopo originale era principalmente orientato al calcolo distribuito e alle comunicazioni di rete. Ha trascorso 20 anni nella fase di sviluppo prima di essere rilasciato nel 1997.
REBOL può essere utilizzato per programmare applicazioni server e client, applicazioni multimediali e applicazioni di database. È considerata una tecnologia bilaterale perché è una soluzione integrata per l’elaborazione distribuita ed è più efficace quando viene eseguita sia dal client che dal server. I dialetti REBOL sono micro-linguaggi che possono essere ottimizzati per uno scopo particolare, come lo scripting del computer. Gli utenti hanno la possibilità di ridefinire i propri dialetti riutilizzando le parole REBOL esistenti. In molti casi, i dialetti sono considerati uno dei maggiori punti di forza dell’utilizzo di REBOL.
Non è considerato un linguaggio informatico tradizionale, perché è stato progettato per servire un unico scopo primario. REBOL integra i concetti sottostanti dei linguaggi di programmazione con il linguaggio dei metadati al fine di semplificare lo scambio e l’interpretazione delle informazioni, che possono essere un problema di calcolo distribuito. Se definito tecnicamente, sarebbe considerato un linguaggio metacircolare perché può agire come un proprio metalinguaggio.
Ci sono una varietà di pacchetti diversi tra cui scegliere, alcuni destinati ai principianti e altri rivolti agli utenti avanzati. Inoltre, ogni pacchetto può essere utilizzato su una varietà di piattaforme. Oltre ad essere un linguaggio per rappresentare dati e meta, REBOL crea anche un’architettura coerente per l’archiviazione, il calcolo e lo scambio di informazioni.
REBOL è una piattaforma relativamente leggera che può essere utilizzata per applicazioni Internet. Ciò è in gran parte dovuto al fatto che utilizza un’architettura unica per memorizzare le informazioni e gestire il modo in cui vengono scambiate ed elaborate. Lo scopo di questa architettura è garantire che REBOL sia piccolo e facile da gestire.
L’uso di minuscole applicazioni note come reblets è ciò che consente di scaricare le informazioni molto rapidamente. Queste applicazioni non richiedono l’esecuzione di librerie speciali, sebbene possano comunque includere centinaia di funzioni e tipi di dati univoci. Alcune delle applicazioni REBOL più robuste e complesse riescono ancora a rimanere 10-30 kilobyte (KB) ciascuna.