Una Máquina Virtual de Bytecode Rápida para Aritmética (Parte 2): Compilador y Descompilador en Haskell

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

Esta publicación, la segunda de una serie, detalla un compilador y un descompilador para una máquina virtual de bytecode rápida para expresiones aritméticas en Haskell. Explica por qué el bytecode es más rápido que la interpretación AST, diseña una máquina virtual de bytecode basada en pila y describe instrucciones de bytecode para los nodos AST Num, BinOp, Var y Let. El compilador utiliza matrices de bytes preasignadas y manipulación de punteros para obtener un mejor rendimiento, con un manejo de errores robusto. Se presentan benchmarks de rendimiento que comparan varias estructuras de datos y el flujo de control. Finalmente, se implementa un descompilador para ayudar en la depuración y las pruebas.

Leer más
Desarrollo

Una Máquina Virtual de Bytecode para Aritmética en Haskell: El Analizador

2025-08-03
Una Máquina Virtual de Bytecode para Aritmética en Haskell: El Analizador

Esta publicación detalla la primera parte de un proyecto para construir una máquina virtual de bytecode para expresiones aritméticas en Haskell. La VM analizará, compilará, interpretará y ejecutará expresiones aritméticas simples, incluyendo enlaces let y expresiones let anidadas. El autor explica la gramática de la expresión, la implementación del analizador (utilizando la biblioteca attoparsec) y el manejo de errores. Se presentan pruebas unitarias para validar la corrección del analizador. También se incluye una breve descripción general de la implementación y las pruebas del intérprete AST. Las publicaciones futuras cubrirán el compilador y la máquina virtual.

Leer más
Desarrollo