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 | Tamanho | Formato | |
|---|---|---|---|---|
| Silverio_2022.pdf | 5,04 MB | Adobe PDF | Ver/Abrir |
Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.











