El lenguaje de objetos basado en expresiones relativas (REBOL) se considera un lenguaje de intercambio de datos que se puede utilizar en una amplia variedad de plataformas. Fue inventado por Carl Sassenrath para actuar como un lenguaje de programación de computadora dinámico multi-paradigma. El propósito original se orientó principalmente hacia la informática distribuida y las comunicaciones en red. Pasó 20 años en la fase de desarrollo antes de ser lanzado en 1997.
REBOL se puede utilizar para programar aplicaciones de servidor y cliente, aplicaciones multimedia y aplicaciones de bases de datos. Se considera una tecnología de ambos lados porque es una solución integrada para la computación distribuida y es más efectiva cuando la ejecutan tanto el cliente como el servidor. Los dialectos REBOL son microlenguajes que pueden optimizarse para un propósito particular, como la creación de secuencias de comandos por computadora. Los usuarios tienen la capacidad de redefinir sus propios dialectos reutilizando palabras REBOL existentes. En muchos casos, los dialectos se consideran una de las mayores fortalezas del uso de REBOL.
No se considera un lenguaje informático tradicional, porque fue diseñado para cumplir un único propósito principal. REBOL integra los conceptos subyacentes de los lenguajes de programación con el lenguaje de metadatos para agilizar el intercambio y la interpretación de información, que puede ser un problema de computación distribuida. Cuando se define técnicamente, se consideraría un lenguaje meta-circular porque puede actuar como su propio meta-lenguaje.
Hay una variedad de paquetes diferentes entre los que se puede elegir, algunos dirigidos a principiantes y otros dirigidos a usuarios avanzados. Además, cada paquete se puede utilizar en una variedad de plataformas. Además de ser un lenguaje para representar datos y metadatos, REBOL también crea una arquitectura consistente para el almacenamiento, la computación y el intercambio de información.
REBOL es una plataforma comparativamente ligera que se puede utilizar para aplicaciones de Internet. Esto se debe en gran parte a que utiliza una arquitectura única para almacenar información y gestionar cómo se intercambia y procesa. El propósito de esta arquitectura es garantizar que REBOL sea pequeño y fácil de administrar.
El uso de pequeñas aplicaciones conocidas como reblets es lo que permite descargar la información de forma muy rápida. Estas aplicaciones no requieren la ejecución de bibliotecas especiales, aunque aún pueden incluir cientos de funciones y tipos de datos únicos. Algunas de las aplicaciones REBOL más robustas y complejas aún logran permanecer entre 10 y 30 kilobytes (KB) cada una.