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

BURAN es un lenguaje de programación donde todo es un patrón y toda computación ocurre a través de la transformación de patrones.

# Saludo
["¡Saludos!"] ↦ [stdout]
# Factorial
factorial {
    [0] ↦ [1]
    [𝑛] ↦ [𝑛 × factorial(𝑛 − 1)]
}

factorial([5]) ↦ [120]

Sin palabras clave if, return o match — los patrones son la lógica. La notación matemática estándar (×, −, 𝑛) hace que las definiciones se lean como fórmulas. La flecha de transformación ↦ muestra explícitamente el flujo de datos.

En lugar de describir procedimientos o secuencias de operaciones, los programas en Buran definen cómo los patrones de datos se transforman en otros patrones, creando un modelo de computación elegante y unificado. Diseñado pensando en la codificación y desarrollo no humano, la sintaxis consistente y la semántica clara de Buran lo hacen ideal para la generación por máquinas mientras permanece legible para humanos—incluyendo especialistas no programadores como matemáticos, que pueden escribir programas usando notación estándar ISO 80000-2, y lingüistas que pueden expresar reglas gramaticales directamente como transformaciones de patrones.

En Desarrollo — Especificación e implementación de referencia disponibles a principios de 2026

Paradigmas

Buran abraza múltiples paradigmas computacionales unificados bajo el modelo de transformación de patrones:

Orientado a Patrones Funcional Declarativo Simbólico Transformacional

Aplicaciones

Lingüística Computacional

Buran sobresale en tareas de procesamiento de lenguaje natural donde el texto debe ser analizado, transformado y estructurado. Su base en coincidencia de patrones hace natural expresar reglas gramaticales, transformaciones morfológicas y análisis sintáctico. El soporte del lenguaje para Unicode y clusters de grafemas extendidos asegura el manejo apropiado de texto en cualquier idioma humano.

Computación Matemática

Con soporte nativo para notación matemática siguiendo estándares ISO, Buran permite a matemáticos y científicos escribir expresiones como lo harían en papel. La evaluación específica de dominio para matrices, números complejos, cálculo simbólico y estadística permite computación matemática sofisticada manteniendo la claridad notacional.

Programación General

Más allá de dominios especializados, Buran sirve como un lenguaje de propósito general capaz. Su modelo de transformación de patrones expresa naturalmente pipelines de procesamiento de datos, transformaciones de configuración y cualquier tarea que involucre reconocer estructura y producir salida correspondiente.

Computación Simbólica

Las raíces del lenguaje en procesamiento simbólico lo hacen ideal para sistemas de álgebra computacional, demostradores de teoremas y herramientas de verificación formal. Los patrones pueden representar expresiones matemáticas, fórmulas lógicas o cualquier dato simbólico estructurado.

Filosofía

En su núcleo, Buran encarna la creencia de que la computación es fundamentalmente sobre reconocer patrones y producir resultados correspondientes. Al hacer de los patrones ciudadanos de primera clase y la transformación la operación universal, el lenguaje logra una consistencia notable: estructuras de datos, definiciones de funciones, declaraciones de tipos y operaciones de E/S siguen el mismo modelo basado en patrones.

El lenguaje abraza Unicode no como una ocurrencia tardía sino como una decisión de diseño fundamental, permitiendo que los programas se lean naturalmente ya sea expresando reglas lingüísticas, fórmulas matemáticas o algoritmos generales.

Orígenes

Buran sintetiza ideas de seis décadas de investigación en lenguajes de programación, tomando particularmente de lenguajes que trataron la manipulación simbólica y la coincidencia de patrones como operaciones fundamentales.

Astadhyayi de Panini

~400 a.C.

El primer sistema de lenguaje formal. La gramática sánscrita de Panini consta de aproximadamente 4.000 reglas algebraicas de reescritura que transforman patrones lingüísticos en formas superficiales. Esta obra maestra india anticipó la computación moderna por dos milenios—sus sutras son reglas de transformación de patrones, convirtiéndola en el ancestro conceptual de toda programación basada en reglas.

Notación Matemática

1557

El lenguaje formal de las matemáticas. Los matemáticos desarrollaron notación simbólica precisa durante siglos para expresar ideas complejas de manera concisa e inequívoca. Buran trata la notación matemática estándar como código directamente ejecutable, siguiendo las convenciones ISO 80000-2.

Lisp

1958

El lenguaje de computación simbólica original. Lisp estableció que programas y datos podían compartir la misma representación, habilitando metaprogramación y manipulación simbólica. Buran hereda esta homoiconicidad a través de su sintaxis universal de patrones.

SNOBOL

1962

Pionero en coincidencia sofisticada de patrones de cadenas con retroceso. SNOBOL demostró que la coincidencia de patrones podía ser una estructura de control primaria, no solo una operación de cadenas.

Refal

1966

El ancestro más directo. Desarrollado en la Unión Soviética, Refal introdujo la transformación de patrones como un modelo computacional completo. Según se informa, Refal fue usado para programar los sistemas de vuelo autónomo del transbordador espacial soviético Buran—el homónimo del lenguaje.

Prolog

1972

Trajo la coincidencia de patrones a la programación lógica a través de la unificación. Prolog mostró que especificaciones declarativas basadas en patrones podían reemplazar algoritmos imperativos.

ML

1973

Integró coincidencia de patrones con tipado estático y tipos de datos algebraicos. ML demostró que coincidencia de patrones y seguridad de tipos pueden coexistir elegantemente.

APL

1966

Demostró que la notación matemática podía ser ejecutable. El uso de símbolos especiales de APL para operaciones de arrays presagió el abrazo de Buran de Unicode para expresión matemática natural.

Wolfram Language

1988

Combinó coincidencia de patrones simbólica con matemáticas computacionales. Las reglas de transformación y estrategias de evaluación específicas de dominio de Wolfram Language influyeron directamente en el enfoque de Buran.

Haskell

1990

Refinó la coincidencia de patrones en un contexto puramente funcional con evaluación perezosa. Los guardas, cláusulas where y sintaxis de patrones de Haskell informaron el sistema de guardas de patrones de Buran.

De estas bases, Buran emerge como una síntesis: las reglas de reescritura de Panini, la precisión formal de la notación matemática, el modelo de transformación de Refal, la flexibilidad simbólica de Lisp, la sofisticación de patrones de SNOBOL, la claridad declarativa de Prolog, la disciplina de tipos de ML, la audacia notacional de APL, los dominios matemáticos de Wolfram y la elegancia funcional de Haskell.

Esta síntesis posiciona a Buran para una nueva era de computación. Su semántica consistente basada en patrones lo hace idealmente adecuado para generación por máquinas—los sistemas de IA pueden producir código Buran correcto más confiablemente que lenguajes cargados con irregularidades históricas. Sin embargo, la misma consistencia, combinada con notación nativa de dominio, hace a Buran genuinamente accesible para especialistas que nunca han programado.

X-Buran

El identificador x-buran sirve como una identidad técnica unificada en múltiples contextos:

Código de Idioma

Una etiqueta de uso privado BCP 47 válida. Use lang="x-buran" en HTML o Content-Language: x-buran en HTTP para identificar código fuente Buran en contextos multilingües.

Dominio

El hogar oficial en x-buran.com. Documentación, especificaciones y recursos para el lenguaje de programación Buran.

Encabezado HTTP

Encabezados personalizados como X-Buran-Version o X-Buran-Domain pueden transportar metadatos sobre contenido procesado por Buran a través de la capa de protocolo.

Creación

Danslav Slavenskoj

Danslav Slavenskoj

Programador. Linguista. Graduado de Harvard. Fue invitado a ensenar una clase de programacion cuando aun estaba en tercer grado de primaria.

Creó Buran en 2025, inspirándose en décadas de investigación en computación simbólica y lenguajes de coincidencia de patrones para crear un lenguaje moderno para una nueva era de computación.