Una conversión de bool a u32 revela un fallo del optimizador de Rust

El desarrollador Parsa, autor de un blog técnico sobre compiladores y parsers, relata una sesión de refactorización de su motor de JavaScript escrito en Rust en la que una versión 'estética' de una función del lexer provocaba errores de parseo, mientras que una variante menos elegante funcionaba cor

Typst: cómo la incrementalidad permite la previsualización en tiempo real

En su charla en la RustWeek 2026, Laurenz Mädje, mantenedor principal y CTO de Typst, explicó cómo la empresa diseña su lenguaje de marcado y su compilador de forma conjunta para conseguir una previsualización instantánea de documentos grandes. Typst es un sistema de composición tipográfica escrito

La semana de los lectores: ciclismo, CuneiForth y un compilador JIT

Esta entrega recopila las respuestas de varios lectores a la pregunta semanal «¿Qué haces esta semana?», una sección abierta en la que comparten sus proyectos y aficiones en curso. Entre los aportes destaca el de un usuario que compagina su trabajo con la reparación de coches y una rutina creciente

La función de OxCaml que más lenguajes deberían copiar

OxCaml, el superset de OCaml desarrollado por Jane Street, incorpora una función que obliga al compilador a garantizar que una función completa no realiza asignaciones en el heap. Basta con anotar el código con [@zero_alloc]: si cualquier parte del árbol de llamadas reserva memoria, la compilación f

slisp: un compilador sencillo de Lisp a ensamblador para Linux/AMD64

slisp es un compilador de Lisp escrito en Go que traduce programas Lisp a ensamblador autónomo para plataformas Linux sobre AMD64. El nombre del proyecto admite dos lecturas: «Simple Lisp» (Lisp sencillo) o «Steve's Lisp» (el Lisp de Steve), según prefiera el lector. El repositorio, alojado en GitHu

LuaJIT 3.0 abre el debate sobre sus extensiones sintácticas

Mike Pall, responsable de LuaJIT, ha abierto el issue #1475 en el repositorio oficial del proyecto como punto central para definir las extensiones de sintaxis que incluirá la futura versión 3.0 del compilador. El hilo funcionará como documento vivo: la descripción recoge la propuesta inicial y un co

LispE: el intérprete de objetos compilados

LispE es un intérprete de Lisp implementado en C++ que resuelve la vieja tensión entre interprete y compilador mediante una idea central: cada instrucción del lenguaje se modela como una subclase de una clase raíz llamada Element, y la evaluación se reduce a un único método virtual eval(), uniforme

Fil-C presenta ensamblador inline con seguridad de memoria

Fil-C, una variante de C y C++ con seguridad de memoria desarrollada por pizlonator, incorpora compatibilidad con ensamblador inline manteniendo las garantías de seguridad. La función, aún en fase preliminar y no incluida en el lanzamiento 0.679, requiere compilar desde el código fuente. El proyect

Cómo escribir un intérprete de Lisp en Python

Este artículo es un tutorial paso a paso para construir un intérprete de Scheme (un dialecto de Lisp) utilizando Python. El texto parte de la premisa de Steve Yegge según la cual, si no se sabe cómo funcionan los compiladores, no se entiende de verdad cómo funcionan los ordenadores, y aplica esa ide

TypeScript 7 RC: el compilador reescrito en Go, hasta 10 veces más rápido

Microsoft ha publicado la Release Candidate de TypeScript 7, cuya versión estable está prevista para el mes que viene. La gran novedad no es un cambio de sintaxis ni una nueva opción de configuración, sino que el compilador completo se ha reescrito en Go. Durante el último año, el equipo移植 la base d

Free Oberon: un IDE clásico para el lenguaje Oberon

Free Oberon es un entorno de desarrollo integrado (IDE) multiplataforma para el lenguaje de programación Oberon, descendiente directo de Pascal y Modula-2. Diseñado en el clásico estilo pseudográfico de la famosa pantalla azul de Pascal, está disponible para Windows, macOS y Linux. Incluye un compil

Tiny Shading Language: Creando un Lenguaje de Sombras para Renderizado Offline

El programador gráfico Jiayin Cao desarrolló Tiny Shading Language (TSL), un lenguaje de sombras personalizado para su renderizador SORT, en cuatro meses. La motivación detrás de este proyecto incluyó el aprendizaje profundo del proceso de compilación, la flexibilidad para modificar el código y la n

H2JVM: biblioteca en Haskell para generar bytecode de la JVM

H2JVM es una biblioteca en Haskell, aún en fases muy iniciales, que permite generar bytecode de la máquina virtual de Java (JVM) desde código funcional con un enfoque de alto nivel. Su objetivo es que los desarrolladores de compiladores hacia la JVM no tengan que lidiar con los detalles de bajo nive

El Consejo Directivo de Python exige un PEP formal para el JIT de CPython

El Consejo Directivo de Python ha anunciado que el compilador experimental justo a tiempo (JIT) integrado en CPython debe formalizarse mediante un PEP de tipo Standards Track en un plazo de seis meses o, de lo contrario, su código será retirado de la rama principal. El órgano agradeció a los desarro

Cómo reducir al mínimo un binario en C con GCC

Este artículo analiza paso a paso cómo reducir el tamaño de un ejecutable ELF en x86-64 compilado con GCC partiendo de un programa mínimo que simplemente devuelve 0 al sistema. El autor, mediante una serie de iteraciones con banderas del compilador y código ensamblador inline, consigue reducir el bi

Experimentos de Go: qué son, cómo funcionan y lista actual

Los experimentos de Go son funcionalidades que el equipo de Go incorpora en sus lanzamientos para obtener retroalimentación real antes de consolidarlas. Pueden presentarse como paquetes nuevos en la biblioteca estándar, cambios en el compilador o el runtime, e incluso modificaciones de comportamient

Blorp: un lenguaje de programación seguro y eficiente que compila a C

Blorp es un nuevo lenguaje de programación diseñado para combinar la seguridad y expresividad de los lenguajes modernos con el rendimiento nativo de C. Compila directamente a C, lo que permite que el código Blorp se ejecute con una eficiencia cercana a la del código C escrito a mano. Sus principales

El compilador Kefir C cesa su desarrollo público

El creador del compilador Kefir C ha anunciado el fin del desarrollo público del proyecto, que pasará a modo privado por tiempo indefinido. La decisión, comunicada en una entrada personal, responde a la falta de sostenibilidad del proyecto, el bajo retorno de inversión (incluyendo aspectos no moneta

Chibil: compilador de C en C# para .NET

Chibil es un compilador del lenguaje C desarrollado en C# que genera código intermedio de .NET (MSIL). Está basado en chibicc, un compilador minimalista de C, pero reescrito por completo en C# y adaptado para producir archivos objeto COFF compatibles con los que genera el compilador MSVC en modo /cl

Zjit optimiza código con nuevo asignador de registros

El equipo de desarrollo de Ruby ha implementado un nuevo asignador de registros en ZJIT (Just-In-Time compiler) para optimizar el rendimiento de la ejecución de código. Esta mejora es relevante porque la gestión eficiente de los registros de la CPU es crucial, ya que estos son mucho más rápidos que

Riscrithm: Nuevo lenguaje agiliza el desarrollo RISC-V

Un nuevo dialecto de macro-ensamblaje llamado 'Riscrithm' ha sido desarrollado para simplificar el desarrollo en RISC-V. Este lenguaje actúa como un puente entre la legibilidad de un lenguaje de alto nivel y el control directo del hardware, compilando directamente a ensamblador RISC-V puro. Los desa

Código C: la compatibilidad es un desafío constante

El artículo de lemon.rip explora un problema fundamental en el desarrollo de software en C: la dificultad de crear código que sea verdaderamente compatible con el estándar ISO C y que funcione de manera consistente en diferentes compiladores y sistemas operativos. La realidad es que la mayoría del c

SBCL implementa máquinas virtuales ultrarrápidas con stack de solo 8 ranuras

Este artículo de Paul Khuong explora una técnica innovadora para implementar máquinas virtuales basadas en stack, utilizando SBCL (Steel Bank Common Lisp) como plataforma de experimentación. La idea central es aprovechar un stack muy pequeño (solo 8 ranuras) para evitar el movimiento de datos durant

Phel 0.36.0 introduce variables como valores de primera clase

Phel 0.36.0 es una versión mayor del lenguaje de programación funcional que compila a PHP, introduciendo capacidades fundamentales que amplían significativamente su poder expresivo. Entre las adiciones más relevantes se encuentran lasfirst-classVars, que permiten tratar las variables como valores de

C++26: Reflexión y Seguridad en la Nueva Versión

El borrador final del estándar C++26 ha sido completado, según anunció Herb Sutter, experto en C++ y ex presidente del comité de estándares ISO C++. Esta nueva versión introduce cambios significativos que buscan modernizar y mejorar el lenguaje. Entre las novedades más destacadas se encuentra la imp

Google lanza JSIR: nueva herramienta para JavaScript

JSIR (JavaScript Intermediate Representation) es una nueva herramienta de Google, ahora de código abierto, que representa JavaScript a un nivel más bajo que el Abstract Syntax Tree (AST) tradicional, pero aún lo suficientemente alto como para ser comprensible y manipulable. En esencia, JSIR busca ll

C++26 finalizado: la actualización más grande desde C++11

La ISO C++ Committee ha finalizado el trabajo técnico de C++26 tras una reunión celebrada en Londres (Croydon, Reino Unido) el pasado sábado. Este hito marca la culminación de un proceso que involucró a aproximadamente 210 asistentes de 24 países, tanto presenciales (130) como remotos (80). C++26 se

Spaces: Nuevo Asignador de Memoria para Linux

Un nuevo asignador de memoria llamado 'Spaces' ha sido desarrollado para Linux x86-64, ofreciendo una alternativa a malloc con características avanzadas para un control más preciso de la memoria. Spaces, disponible como un único archivo de código fuente, permite la creación de regiones de memoria ex

Intel facilita simulación de hardware con nuevo lenguaje

Intel ha lanzado Device Modeling Language (DML), un lenguaje específico de dominio diseñado para crear modelos de dispositivos rápidos y funcionales para plataformas virtuales. DML simplifica la creación de modelos de dispositivos al ofrecer abstracciones de alto nivel, como bancos de registros, int

Error en compilador Rust al emular tipos avanzados

Este artículo técnico explora una peculiaridad en el sistema de tipos de Rust y cómo un intento de emular tipos de orden superior (HKTs) llevó a un error de desbordamiento en la evaluación de requisitos de traits, causando que el compilador fallara. El autor, en su intento de crear un lenguaje de sc

Rust: Propuesta optimiza la llamada de funciones

Este artículo explora una propuesta para mejorar la convención de llamada en Rust, especialmente en arquitecturas x86, y cómo esto impacta la eficiencia del código generado. La convención de llamada define cómo se pasan los argumentos a las funciones y cómo se devuelven los valores, y la actual conv

Go: Debate sobre 'try' para Simplificar el Manejo de Errores

La comunidad de desarrolladores de Go debate la inclusión de una característica 'try' para el manejo de errores, similar a la que existe en lenguajes como Zig y Rust. Actualmente, Go requiere una estructura verbosa `if err != nil` para verificar errores, lo que ha generado frustración entre algunos

Copapy: Python redefine la computación embebida

Un nuevo framework de Python llamado Copapy ha sido desarrollado para facilitar la computación en tiempo real determinista y de baja latencia en sistemas embebidos. Inspirado en frameworks de IA como PyTorch y JAX, Copapy busca ofrecer la flexibilidad de Python con el rendimiento de código máquina o

ROX: Nuevo Lenguaje Busca Simplificar la Programación

Un nuevo lenguaje de programación llamado ROX ha sido desarrollado con el objetivo de priorizar la claridad sobre la comodidad. Creado por Taman-Islam y disponible en GitHub, ROX busca eliminar las complejidades inherentes a muchos lenguajes, como conversiones implícitas, operadores sobrecargados y