ENG РУС ESP POR FRA DEU عربي हिंदी 日本 한국 繁中 简中

BURAN e uma linguagem de programacao onde tudo e um padrao e toda computacao ocorre atraves da transformacao de padroes.

# Saudação
["Saudações!"] ↦ [stdout]
# Fatorial
fatorial {
    [0] ↦ [1]
    [𝑛] ↦ [𝑛 × fatorial(𝑛 − 1)]
}

fatorial([5]) ↦ [120]

Sem palavras-chave if, return ou match — os padrões são a lógica. A notação matemática padrão (×, −, 𝑛) torna as definições legíveis como fórmulas. A seta de transformação ↦ mostra explicitamente o fluxo de dados.

Em vez de descrever procedimentos ou sequencias de operacoes, os programas em Buran definem como padroes de dados se transformam em outros padroes, criando um modelo de computacao elegante e unificado. Projetado para codificacao e desenvolvimento nao humano, a sintaxe consistente e a semantica clara do Buran o tornam ideal para geracao por maquinas, permanecendo legivel para humanos—incluindo especialistas nao programadores como matematicos, que podem escrever programas usando notacao padrao ISO 80000-2, e linguistas que podem expressar regras gramaticais diretamente como transformacoes de padroes.

Em Desenvolvimento — Especificacao e implementacao de referencia disponiveis no inicio de 2026

Paradigmas

Buran abarca multiplos paradigmas computacionais unificados sob o modelo de transformacao de padroes:

Orientado a Padroes Funcional Declarativo Simbolico Transformacional

Aplicacoes

Linguistica Computacional

Buran se destaca em tarefas de processamento de linguagem natural onde o texto deve ser analisado, transformado e estruturado. Sua base em correspondencia de padroes torna natural expressar regras gramaticais, transformacoes morfologicas e analise sintatica. O suporte da linguagem para Unicode e clusters de grafemas estendidos garante o tratamento adequado de texto em qualquer idioma humano.

Computacao Matematica

Com suporte nativo para notacao matematica seguindo padroes ISO, Buran permite que matematicos e cientistas escrevam expressoes como fariam no papel. A avaliacao especifica de dominio para matrizes, numeros complexos, calculo simbolico e estatistica permite computacao matematica sofisticada mantendo a clareza notacional.

Programacao Geral

Alem de dominios especializados, Buran serve como uma linguagem de proposito geral capaz. Seu modelo de transformacao de padroes expressa naturalmente pipelines de processamento de dados, transformacoes de configuracao e qualquer tarefa que envolva reconhecer estrutura e produzir saida correspondente.

Computacao Simbolica

As raizes da linguagem em processamento simbolico a tornam ideal para sistemas de algebra computacional, demonstradores de teoremas e ferramentas de verificacao formal. Os padroes podem representar expressoes matematicas, formulas logicas ou quaisquer dados simbolicos estruturados.

Filosofia

Em seu nucleo, Buran incorpora a crenca de que a computacao e fundamentalmente sobre reconhecer padroes e produzir resultados correspondentes. Ao fazer dos padroes cidadaos de primeira classe e da transformacao a operacao universal, a linguagem alcanca uma consistencia notavel: estruturas de dados, definicoes de funcoes, declaracoes de tipos e operacoes de E/S seguem o mesmo modelo baseado em padroes.

A linguagem abraca o Unicode nao como um pensamento posterior, mas como uma decisao de design fundamental, permitindo que os programas sejam lidos naturalmente, seja expressando regras linguisticas, formulas matematicas ou algoritmos gerais.

Origens

Buran sintetiza ideias de seis decadas de pesquisa em linguagens de programacao, inspirando-se particularmente em linguagens que trataram a manipulacao simbolica e a correspondencia de padroes como operacoes fundamentais.

Astadhyayi de Panini

~400 a.C.

O primeiro sistema de linguagem formal. A gramatica sanscrita de Panini consiste em aproximadamente 4.000 regras algebricas de reescrita que transformam padroes linguisticos em formas superficiais. Esta obra-prima indiana antecipou a computacao moderna por dois milenios—seus sutras sao regras de transformacao de padroes, tornando-a a ancestral conceitual de toda programacao baseada em regras.

Notacao Matematica

1557

A linguagem formal da matematica. Os matematicos desenvolveram notacao simbolica precisa ao longo de seculos para expressar ideias complexas de forma concisa e inequivoca. Buran trata a notacao matematica padrao como codigo diretamente executavel, seguindo as convencoes ISO 80000-2.

Lisp

1958

A linguagem original de computacao simbolica. Lisp estabeleceu que programas e dados podiam compartilhar a mesma representacao, habilitando metaprogramacao e manipulacao simbolica. Buran herda essa homoiconicidade atraves de sua sintaxe universal de padroes.

SNOBOL

1962

Pioneiro em correspondencia sofisticada de padroes de strings com backtracking. SNOBOL demonstrou que a correspondencia de padroes podia ser uma estrutura de controle primaria, nao apenas uma operacao de strings.

Refal

1966

O ancestral mais direto. Desenvolvido na Uniao Sovietica, Refal introduziu a transformacao de padroes como um modelo computacional completo. Segundo relatos, Refal foi usado para programar os sistemas de voo autonomo do onibus espacial sovietico Buran—o homonimo da linguagem.

Prolog

1972

Trouxe a correspondencia de padroes para a programacao logica atraves da unificacao. Prolog mostrou que especificacoes declarativas baseadas em padroes podiam substituir algoritmos imperativos.

ML

1973

Integrou correspondencia de padroes com tipagem estatica e tipos de dados algebricos. ML demonstrou que correspondencia de padroes e seguranca de tipos podem coexistir elegantemente.

APL

1966

Demonstrou que a notacao matematica podia ser executavel. O uso de simbolos especiais do APL para operacoes de arrays pressagiou o abraco do Buran ao Unicode para expressao matematica natural.

Wolfram Language

1988

Combinou correspondencia de padroes simbolica com matematica computacional. As regras de transformacao e estrategias de avaliacao especificas de dominio do Wolfram Language influenciaram diretamente a abordagem do Buran.

Haskell

1990

Refinou a correspondencia de padroes em um contexto puramente funcional com avaliacao preguicosa. Os guards, clausulas where e sintaxe de padroes do Haskell informaram o sistema de guards de padroes do Buran.

Dessas bases, Buran emerge como uma sintese: as regras de reescrita de Panini, a precisao formal da notacao matematica, o modelo de transformacao do Refal, a flexibilidade simbolica do Lisp, a sofisticacao de padroes do SNOBOL, a clareza declarativa do Prolog, a disciplina de tipos do ML, a audacia notacional do APL, os dominios matematicos do Wolfram e a elegancia funcional do Haskell.

Esta sintese posiciona o Buran para uma nova era de computacao. Sua semantica consistente baseada em padroes o torna idealmente adequado para geracao por maquinas—sistemas de IA podem produzir codigo Buran correto de forma mais confiavel do que linguagens carregadas de irregularidades historicas. No entanto, a mesma consistencia, combinada com notacao nativa de dominio, torna o Buran genuinamente acessivel para especialistas que nunca programaram.

X-Buran

O identificador x-buran serve como uma identidade tecnica unificada em multiplos contextos:

Codigo de Idioma

Uma tag de uso privado BCP 47 valida. Use lang="x-buran" em HTML ou Content-Language: x-buran em HTTP para identificar codigo fonte Buran em contextos multilingues.

Dominio

O lar oficial em x-buran.com. Documentacao, especificacoes e recursos para a linguagem de programacao Buran.

Cabecalho HTTP

Cabecalhos personalizados como X-Buran-Version ou X-Buran-Domain podem transportar metadados sobre conteudo processado pelo Buran atraves da camada de protocolo.

Criacao

Danslav Slavenskoj

Danslav Slavenskoj

Programador. Linguista. Formado em Harvard. Foi convidado a ensinar uma aula de programacao ainda na terceira serie do ensino fundamental.

Criou o Buran em 2025, inspirando-se em decadas de pesquisa em computacao simbolica e linguagens de correspondencia de padroes para criar uma linguagem moderna para uma nova era de computacao.