REBOL
REBOL é uma linguagem de programação multi-plataforma, multiparadigma, de intercâmbio de dados e dinâmica concebida originalmente por Carl Sassenrath para comunicações de rede e computação distribuída.
Imagem: tgrauros · BY-SA · Openverse
Primeiramente lançado em 1997, REBOL foi concebido durante um período de 20 anos por Carl Sassenrath, o arquiteto e principal desenvolvedor do AmigaOS, com base em seu estudo de semântica denotacional e utilizando conceitos de programação Lisp, Forth, Logo e Self. REBOL 2, o interpretador, que se tornou o núcleo das edições estendidas dos interpretadores, foi lançado em 1999. REBOL/Command, que acrescentou a criptografia forte e acesso a ODBC, foi lançado em Setembro de 2000. REBOL/View foi lançado em abril de 2001, acrescentando capacidades gráficas em cima do núcleo da linguagem. REBOL/IOS, um ambiente de colaboração extensível construído com REBOL foi lançado em agosto de 2001. REBOL/SDK, fornecendo opções de kernels para ir contra vinculações, bem como um pré-processador, foi lançado em Dezembro de 2002. REBOL 3, a versão mais recente do interpretador REBOL, está atualmente em desenvolvimento. Versões alpha estão sendo liberados ao público desde Janeiro de 2008.
Imagem: tgrauros · BY-SA · Openverse
Os dialetos REBOL, hoje populares como linguagens de domínio específico, são micro-linguagens otimizadas para uma finalidade específica. Dialetos podem ser usados para definir regras de negócio, interfaces gráficas ou seqüências de painéis durante a instalação de um programa. Os usuários podem definir seus próprios dialetos, reutilizando quaisquer palavras REBOL existentes e dando-lhes um significado específico nesse dialeto. Dialetos são linguagens interpretadas por funções de processamento de blocos REBOL de uma maneira específica. Um exemplo das habilidades de dialetos de REBOL pode ser visto com a palavra return. No data exchange dialect (dialeto de troca de informações) return é apenas uma palavra, não tendo qualquer significado específico. No dialeto do dialect (dialeto de fazer), return é uma variável global referindo-se a uma função nativa passando de volta o valor resultante da função. no visual interface dialect (VID), return é uma palavra reservada fazendo com que o mecanismo de layout, simule um carriage return, movendo a "caneta de renderização" até o início da próxima linha.
Imagem: tgrauros · BY-SA · Openverse
A sintaxe da REBOL é de formato livre, não exigindo posicionamento específico. No entanto, a indentação é recomendada para melhor transmitir a estrutura do texto para leitores humanos. As propriedades sintáticas de dialetos diferentes podem ser diferentes. A plataforma comum para todos os dialetos REBOL é o dialeto de troca de dados; outros dialetos são geralmente derivados a partir dele. Além de ser uma plataforma comum para todos os dialetos, o dialeto de troca de dados é usado diretamente para representar os dados e metadados, preencher estruturas de dados, enviar dados através de Internet, e salvá-los no armazenamento de dados. Diferentemente de C ou outras linguagens de programação o dialeto de troca de dados não é constituído por declarações, comandos, expressões ou palavras-chave. Um dialeto de troca de dados válido de fluxo de texto é uma estrutura de dados em árvore que consiste em blocos (o bloco da raiz está implícito, subblocos são delimitados por colchetes), tipos parens (delimitados por parêntesis), strings (delimitadas por aspas ou chaves adequados para strings multi-linhas; notação com Acento circunflexo é usada para caracteres não imprimíveis), url's, endereços de e-mail, arquivos, trilhas ou outros valores compostos. Ao contrário dos blocos ALGOL, os blocos REBOL são valores compostos semelhantes aos citados expressões-s do Lisp.


