PPGCC - Mestrado (Dissertações)
URI permanente para esta coleçãohttp://www.hml.repositorio.ufop.br/handle/123456789/597
Navegar
Item Compiling general recursive functions into finite depth pattern matching.(2023) Amaro, Maycon José Jorge; Ribeiro, Rodrigo Geraldo; Ribeiro, Rodrigo Geraldo; Vieira, Bruno Lopes; Reis, Leonardo Vieira dos SantosProgramming 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.