Evaluador beta de estilo directo de orden normal con reglas de sintaxis y aplicaciones repetidas de call/cc

2025-09-17

Este artículo explora aplicaciones menos frecuentes de call/cc en macros Scheme higiénicas, en particular su uso para ayudar en cálculos lambda tediosos. El autor presenta un beta-normalizador de estilo directo de orden normal que combina inteligentemente reglas de sintaxis y aplicaciones repetidas de call/cc, demostrando su corrección mediante la transformación CPS y un ingenioso lambda-calculador de estilo directo. El artículo también profundiza en las continuaciones delimitadas, mostrando cómo las macros simples pueden implementar varios operadores de continuación delimitada, como prompt y control. Una implementación de función factorial basada en call/cc y una discusión sobre las continuaciones delimitadas destacan la elegancia y la practicidad del enfoque.

Leer más
Desarrollo

Curso de Compilador Incremental: De Tiger a Ensamblador x86-64 en OCaml

2025-04-05

Este es un curso de compilador altamente práctico cuyo objetivo es construir un compilador que traduce el lenguaje de alto nivel Tiger a código de máquina x86-64. El curso utiliza OCaml y enfatiza el desarrollo impulsado por pruebas, el control de versiones y la reutilización de código. Emplea un enfoque de desarrollo incremental e iterativo, expandiendo gradualmente las funciones del lenguaje y del compilador, aprovechando el estilo tagless-final para una mayor extensibilidad. El curso cubre temas estándar de compiladores, como el análisis, la verificación de tipos, la optimización y la generación de ensamblador, pero de una manera no tradicional.

Leer más