Utilize este identificador para referenciar este registo: http://hdl.handle.net/10362/138812
Título: Efficient Declarative Programming in OCaml
Autor: Silvério, Diogo Rafael Rebocho
Orientador: Dias, Artur
Pereira, Mário
Palavras-chave: Efficient Declarative Programming
OCaml PreProcessor eXtensions
Code Optimization
Program Transformations
Data de Defesa: Jan-2022
Resumo: Software gets more complex each day, specially with the growing popularity of IoT, Par- allel Computing and interactive web applications. The opportunity for error grows hand in hand with the ever growing complexity of these systems. Declarative programming allows developers to focus on solving a problem and avoid the complexity of dealing with programming low-level elements, such as memory management. Unfortunately, some pure declarative programs tend to perform poorly from an execu- tional point of view compared with their equivalent imperative counterparts. These are more machine-friendly which turns the use of declarative programming less appealing to the general audience. The goal of this dissertation is to create several OCaml PPX (PreProcessor eXtension) rewriters that transform purely declarative OCaml programs into equivalent ones with better executional performance. These PPX rewriters allow the user to automatically improve the performance of their code. Our biggest aim is to promote the use of the declarative paradigm. The motivation is two-fold: one, developers can enjoy natural, intuitive, and elegant declarative solutions to their problems; second, increase code cor- rectness, decrease code size and ease code verification.
O software tem-se tornado cada vez mais complexo, especialmente com o aumento de popularidade do IoT, da Computação Paralela e de aplicações interactivas da Web. A oportunidade de erro cresce de mãos dadas com a complexidade crescente destes sistemas. A programação declarativa permite aos programadores concentrarem-se na resolução de um problema e evitar a complexidade de ter de lidar com a programação de elementos de baixo nível, como a gestão de memória. Infelizmente, alguns programas declarativos puros tendem a ter um mau desempenho do ponto de vista da execução em comparação com os seus equivalentes imperativos. Estes são menos custosos de executar para uma máquina, o que torna o uso da programação declarativa menos atraente para o público geral. O objectivo desta dissertação é criar vários reescritores OCaml PPX (PreProcessor eXtension) que transformam programas OCaml puramente declarativos em programas equivalentes com melhor desempenho de execução. Estes rescritores deixam o utilizador melhorar o desempenho do seu código automaticamente. O nosso maior objectivo é pro- mover o uso do paradigma declarativo. A motivação é dupla: primeiro, os programadores podem desfrutar de soluções declarativas naturais, intuitivas e elegantes para os seus problemas; segundo, melhorar a correção do código, diminuir o seu tamanho e facilitar a sua verificação.
URI: http://hdl.handle.net/10362/138812
Designação: MASTER IN COMPUTER SCIENCE
Aparece nas colecções:FCT: DI - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Silverio_2022.pdf5,04 MBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpace
Formato BibTex MendeleyEndnote 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.