Inmersión Profunda en CPS: Un Viaje a la Compilación de Programación Funcional

2024-12-25

Este artículo profundiza en el Estilo de Paso de Continuación (CPS) y su aplicación en la compilación de lenguajes de programación funcional. El autor construye un transformador CPS paso a paso para un lenguaje simple similar a Scheme, explicando estrategias de optimización y métodos de generación de código. El artículo detalla la transformación de enteros, variables, llamadas a funciones, operadores aritméticos, expresiones lambda y expresiones if en forma CPS. También analiza metacontinuaciones y técnicas de optimización como el plegado de constantes y la reducción beta. Finalmente, describe varios enfoques para generar código ejecutable a partir de CPS, incluyendo la generación de código C, el uso de trampolines y el empleo de una única instrucción switch grande.

Leer más