Compiling general recursive functions into finite depth pattern matching.
Nenhuma Miniatura Disponível
Data
2023
Autores
Título da Revista
ISSN da Revista
Título de Volume
Editor
Resumo
Programming languages are popular and diverse, and the convenience of extending or
changing the behavior of complex systems is attractive even for the systems with stringent
security requirements, which often impose restrictions on the programs. A very common
restriction is that the program must terminate, which is very hard to check in general
because the Halting Problem is undecidable. In this work, we proposed a technique to
unroll recursive programs in functional languages to create terminating versions of them.
We prove that our strategy is total and we also formalize term generation and run property-
based tests to build confidence that the semantics is preserved through the transformation.
This strategy can be used to compile general purpose functional languages to targets
such as the eBPF and smart contracts for blockchain networks.
Descrição
Programa de Pós-Graduação em Ciência da Computação. Departamento de Ciência da Computação, Instituto de Ciências Exatas e Biológicas, Universidade Federal de Ouro Preto.
Palavras-chave
Recursion, Lambda calculus, Program transformation
Citação
AMARO, Maycon José Jorge. Compiling general recursive functions into finite depth pattern matching. 2023. 37 f. Dissertação (Mestrado em Ciência da Computação) - Instituto de Ciências Exatas e Biológicas, Universidade Federal de Ouro Preto, Ouro Preto, 2023.
Coleções
Avaliação
Revisão
Suplementado Por
Referenciado Por
Licença Creative Commons
Exceto quando indicado de outra forma, a licença deste item é descrita como aberto