Polimorfismo de registros no sistema CT

Carregando...
Imagem de Miniatura

Título da Revista

ISSN da Revista

Título de Volume

Editor

Universidade Federal de Minas Gerais

Descrição

Tipo

Dissertação de mestrado

Título alternativo

Primeiro orientador

Membros da banca

Roberto da Silva Bigonha
Alberto Pardo

Resumo

Registros são usados em diversas linguagens (sob diversos nomes) para expressar a composição de objetos de dados e são usualmente associados a uma ou mais operações, como a projeção, atualização e remoção de campos. Tais operações são consideradas polimórficas se puderem ser usadas com qualquer registro que satisfaça um conjunto pequeno de exigências, e.g. uma operação de atualização de um determinado campo deve poder ser usada com qualquer campo que possua o campo em questão, independente do tipo do campo e da presença ou não de outros campos no registro. Diversas propostas foram feitas para o acréscimo de operações polimórficas de registro em Haskell. Este trabalho propõe uma abordagem baseada no sistema de restrições do Sistema CT e usa restrições para codificar os requerimentos de cada operação sobre registros. A proposta inclui alterações à sintaxe e ao sistema de tipos do Sistema CT. Para resolver o problema da satisfazibilidade das restrições criadas para codificar as exigências das operações, foi desenvolvida uma teoria que serviu de base para um algoritmo de satisfazibilidade. O trabalho também inclui uma sintaxe alternativa, que pode ser usada para apresentar de forma amigável os tipos inferidos para operações de registro.

Abstract

Assunto

Haskell (Linguagem de programação de computador), Computação, Analise de sistemas (Computação)

Palavras-chave

polimorfismo, sistema de tipos

Citação

Departamento

Curso

Endereço externo

Avaliação

Revisão

Suplementado Por

Referenciado Por