Uma Máquina Virtual de Bytecode Rápida para Aritmética (Parte 2): Compilador e Descompilador em Haskell

2025-08-28
Uma Máquina Virtual de Bytecode Rápida para Aritmética (Parte 2): Compilador e Descompilador em Haskell

Esta postagem, a segunda de uma série, detalha um compilador e um descompilador para uma máquina virtual de bytecode rápida para expressões aritméticas em Haskell. Ela explica por que o bytecode é mais rápido do que a interpretação AST, projeta uma máquina virtual de bytecode baseada em pilha e descreve instruções de bytecode para nós AST Num, BinOp, Var e Let. O compilador usa arrays de bytes pré-alocados e manipulação de ponteiros para desempenho, com tratamento de erros robusto. Benchmarks de desempenho comparando várias estruturas de dados e fluxo de controle são apresentados. Finalmente, um descompilador é implementado para auxiliar na depuração e teste.

Leia mais
Desenvolvimento

Uma Máquina Virtual de Bytecode para Aritmética em Haskell: O Parser

2025-08-03
Uma Máquina Virtual de Bytecode para Aritmética em Haskell: O Parser

Este post detalha a primeira parte de um projeto para construir uma máquina virtual de bytecode para expressões aritméticas em Haskell. A VM irá analisar, compilar, interpretar e executar expressões aritméticas simples, incluindo associações let e expressões let aninhadas. O autor explica a gramática da expressão, a implementação do analisador (usando a biblioteca attoparsec) e o tratamento de erros. São apresentados testes unitários para validar a correção do analisador. Uma breve visão geral da implementação e teste do interpretador AST também está incluída. Posts futuros irão cobrir o compilador e a máquina virtual.

Leia mais
Desenvolvimento