Inferência de tipos com suporte para sobrecarga baseada 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

Tese de doutorado

Título alternativo

Primeiro orientador

Membros da banca

André Luis de Medeiros Santos
Lucilia Camarão de Figueiredo
Roberto ierusalimchy
Mariza Andrade da Silva Bigonha
Roberto da Silva Bigonha

Resumo

Este trabalho aborda o problema da inferência de tipos com definições sobrecarregadas, apresentando uma revisão do sistema de tipos CT. Esse sistema é uma extensão do sistema proposto por Damas-Milner com suporte para sobrecarga de nomes, onde restrições de tipo são usadas em tipos polimórficos para indicar restrições de instanciação desses tipos, de acordo com definições sobrecarregadas existentes. a inferência de tipos nesse sistema envolve a resolução para o problema da satisfazibilidade de restrições, que trata de decidir se um dado conjunto de restrições de um tipo polimórfico é válido ou não, em um determinado contexto de tipos. Políticas para resolução de sobrecarga muito restritirvas têm sido adotadas para garantir a deibilidade deste problemas. O sistema CT adota uma política de resolução de sobrecarga muito menos restritiva que as presentes em sistemas de tipos similares. As principais contribuições desse trabalho são: uma definição formal do problema de satisfazibilidade de restrições independente das regras de derivação do sistema de tipos, apresentação de um algoritmo para a solução desse problema e a implementação de um protótipo que demonstra que a adoção de uma política de sobrecarga menos restritiva pode funcionar bem na prática. Nos testes realizados com a implementação desse algoritmo, usando código similar a programas implemtnados em Haskell, não foi encotnrada nenhuma situação em que a satisfazibilidade das restrições não pode ser decidida. Para estes casos é utilizado um limite de iteração para interromper o processo e rejeitar a expressão, indicando a ocorrência de um erro de tipo.

Abstract

Assunto

Linguagem de programação (Computadores), Computação

Palavras-chave

Sistemas de tipos, Sobrecarga, Polimorfismo, Linguagens de programação, Inferência de tipos

Citação

Departamento

Curso

Endereço externo

Avaliação

Revisão

Suplementado Por

Referenciado Por