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

Fuentes: Typst: Designing for Incrementality

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 en Rust que compila un lenguaje de marcado propio —similar a Markdown pero con soporte para matemáticas, código y funciones de guionización— en PDF, imágenes o HTML. Mädje expuso la estrategia de incrementalidad que sustenta esa previsualización.

El compilador aprovecha que la función de maquetación es pura y determinista: dados los mismos parámetros, produce el mismo frame, por lo que basta con calcular un hash de las entradas y almacenar el resultado en una tabla hash para reutilizarlo entre ediciones. Typst emplea el crate interno "commo" para gestionar esa caché. Sin embargo, el reto aparece con el sistema de guionización y los módulos: reevaluarlos por completo en cada cambio sería inviable, por lo que Typst memoriza la evaluación de cada módulo de forma incremental. La charla también abordó el sistema de introspección, que permite al documento observarse a sí mismo —por ejemplo, preguntar la posición exacta de un encabezado en la página— y la necesidad de resolver estilos de forma eficiente.

El objetivo declarado es eliminar el ciclo de "botón de compilar girando" propio de LaTeX y ofrecer una experiencia fluida, apoyada en diagnósticos claros inspirados en Rust y en el uso intensivo de memoria para recordar resultados intermedios durante una sesión de edición.