Beta-avaliador de estilo direto de ordem normal com regras de sintaxe e aplicações repetidas de call/cc

2025-09-17

Este artigo explora aplicações menos frequentes de call/cc em macros Scheme higiênicas, particularmente seu uso para auxiliar cálculos lambda tediosos. O autor apresenta um beta-normalizador de estilo direto de ordem normal que combina inteligentemente regras de sintaxe e aplicações repetidas de call/cc, provando sua correção por meio de transformação CPS e um engenhoso lambda-calculador de estilo direto. O artigo também investiga continuações delimitadas, mostrando como macros simples podem implementar vários operadores de continuação delimitada, como prompt e control. Uma implementação de função fatorial baseada em call/cc e discussão de continuações delimitadas destacam a elegância e praticidade da abordagem.

Leia mais
Desenvolvimento

Curso de Compilador Incremental: De Tiger para Assembly x86-64 em OCaml

2025-04-05

Este é um curso de compilador altamente prático com o objetivo de construir um compilador que traduz a linguagem Tiger de alto nível para código de máquina x86-64. O curso usa OCaml e enfatiza o desenvolvimento orientado a testes, controle de versão e reuso de código. Ele emprega uma abordagem de desenvolvimento incremental e iterativo, expandindo gradualmente os recursos da linguagem e do compilador, aproveitando o estilo tagless-final para maior extensibilidade. O curso cobre tópicos padrão de compiladores, como análise, verificação de tipo, otimização e geração de assembly, mas de uma maneira não tradicional.

Leia mais
Desenvolvimento desenvolvimento incremental