Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/48895
ORCID:  http://orcid.org/0009-0004-5033-9632
Document type: Trabalho de Conclusão de Curso
Access type: Acesso Aberto
Title: Higher-order Virtual Machine 3: uma reconstrução racional
Alternate title (s): Higher-order Virtual Machine 3: a rational reconstruction
Author: Rocha, Thiago Pacheco
First Advisor: Soares, Alexsandro Santos
First member of the Committee: Lopes, Carlos Roberto
Second member of the Committee: Lima, Maria Adriana Vidigal de
Summary: A Higher-order Virtual Machine 3 (HVM3) é um compilador que gera código de alta performance baseado em redes de interação, que se destaca por seu potencial de execução massivamente paralela na sua versão de avaliação ansiosa (strict) e pela redução ótima de termos do cálculo-λ na versão de avaliação preguiçosa (lazy). Apesar das suas propriedades promissoras, a complexidade de seu funcionamento e a carência de documentação didática representam uma barreira para novos pesquisadores e desenvolvedores. Este trabalho se propõe a preencher essa lacuna, descrevendo de forma incremental e detalhada a sintaxe, a semântica e o funcionamento da HVM3, com foco na sua versão Lazy. Partindo dos fundamentos teóricos do cálculo-λ e dos combinadores de interação, a máquina virtual é reconstruída passo a passo através de uma série de submáquinas, cada uma adicionando novas funcionalidades à anterior. Inicia-se com o modelo de memória, evoluindo para a implementação dos combinadores de interação, e subsequentemente, incorporando operações aritméticas, referências, casamento de padrões para tipos de dados algébricos (ADTs), mecanismos de priorização de redução, etc. O resultado é uma documentação que serve como um guia para a compreensão da HVM3, tornando este poderoso modelo de computação mais acessível e fomentando futuras pesquisas na área.
Abstract: Higher-order Virtual Machine 3 (HVM3) is a compiler that generates high-performance code based on interaction nets. It stands out for its potential for massively parallel execution in its strict version and for the optimal reduction of λ-calculus terms in its lazy version. Despite its promising properties, its operational complexity and the lack of educational documentation represent a barrier for new researchers and developers. This work aims to fill this gap by providing an incremental and detailed description of the syntax, semantics, and inner workings of HVM3, with a focus on its Lazy version. Starting from the theoretical foundations of λ-calculus and interaction combinators, the virtual machine is reconstructed step-by-step through a series of sub-machines, each adding new features to the previous one. The process begins with the memory model, evolving into the implementation of interaction combinators, and subsequently incorporating arithmetic operations, references, pattern matching for Algebraic Data Types (ADTs), reduction prioritization mechanisms, and more. The result is a documentation that serves as a guide for understanding HVM3, making this powerful computational model more accessible and fostering future research in the field.
Keywords: Redes de interação
Combinadores de interação
Cálculo de interação
Avaliação ótima
HVM
Cálculo lambda
Area (s) of CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::TEORIA DA COMPUTACAO::COMPUTABILIDADE E MODELOS DE COMPUTACAO
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::LINGUAGENS DE PROGRAMACAO
Language: por
Country: Brasil
Publisher: Universidade Federal de Uberlândia
Quote: ROCHA, Thiago Pacheco. Higher-order Virtual Machine 3: uma reconstrução racional. 2025. 94 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2025.
URI: https://repositorio.ufu.br/handle/123456789/48895
Date of defense: 23-Sep-2025
Appears in Collections:TCC - Ciência da Computação

Files in This Item:
File Description SizeFormat 
Higher-orderVirtualMachine.pdf1.16 MBAdobe PDFThumbnail
View/Open


This item is licensed under a Creative Commons License Creative Commons