Mergulho Profundo em CPS: Uma Jornada na Compilação de Programação Funcional
Este artigo mergulha no Estilo de Passagem de Continuação (CPS) e sua aplicação na compilação de linguagens de programação funcional. O autor constrói um transformador CPS passo a passo para uma linguagem simples semelhante ao Scheme, explicando estratégias de otimização e métodos de geração de código. O artigo detalha a transformação de inteiros, variáveis, chamadas de função, operadores aritméticos, expressões lambda e expressões if em forma CPS. Ele também discute meta-continuações e técnicas de otimização, como dobramento de constantes e redução beta. Finalmente, descreve várias abordagens para gerar código executável a partir de CPS, incluindo a geração de código C, o uso de trampolim e o emprego de uma única instrução switch grande.
Leia mais