Yon: un lenguaje de investigación cimentado en teoría de topos y HoTT

Fuentes: Yon: a research language built on topos theory and HoTT
Imagen generada por IA con el prompt: Abstract geometric composition of interconnected nodes and morphisms on a deep navy background, glowing in cyan and amber, evoking category theory diagrams and a layered compilation pipeline. Clean, technical, editorial
Imagen generada con IA

Yon es un lenguaje de programación de investigación cuyo sistema de tipos se fundamenta en la teoría de topos, el lema de Yoneda, la teoría de tipos de homotopía (HoTT) y la teoría de tipos cúbica, con efectos algebraicos y un núcleo de lógica intuicionista. Constituye, a la vez, un programa de investigación y un compilador plenamente funcional: el código fuente Yon se compila, a través de un dialecto MLIR propio, hasta LLVM IR y, desde ahí, a un ejecutable nativo.

La documentación oficial se estructura como un libro progresivo en el que cada capítulo construye sobre el anterior. Todos los fragmentos de código incluidos han sido compilados y ejecutados antes de aparecer en el texto. El recorrido arranca con una referencia de sintaxis normativa de Yon 1.0 y avanza por tres partes: una introducción al paradigma de programación orientada a topos, los fundamentos del modelo de máquina (heap con direccionamiento por contenido, valores, celdas, persistencia) y, por último, la arquitectura de sistema, con proyectos, paquetes, comunicación entre "Spaces", gestión de errores, capacidades y herramientas.

El compilador yonc recorre todo el pipeline: un frontend escrito en OCaml convierte el código a un dialecto MLIR denominado "topos", que se baja a LLVM IR mediante topos-opt. El binario nativo final lo produce llc con el enlazado del runtime y libmmgroup. El usuario puede detener el proceso en cualquier etapa intermedia para inspeccionar, por ejemplo, el LLVM IR resultante.

El ecosistema de herramientas incluye el gestor de paquetes yon-pkg, un servidor de lenguaje (yon_lsp) compatible con Language Server Protocol, el formateador yonfmt, el linter yon_lint y el generador de documentación yon_doc. El desarrollo principal se realiza en Linux x86-64, y también es compilable en macOS sobre Apple Silicon a partir del código fuente.