Detalhes do Documento

Inferência de tipos com suporte para sobrecarga baseada no sistema CT

Autor(es): Cristiano Damiani Vasconcellos

Data: 2019

Identificador Persistente: http://hdl.handle.net/1843/RVMR-65VJKR

Origem: Oasisbr

Assunto(s): Sistemas de tipos; Sobrecarga; Polimorfismo; Linguagens de programação; Inferência de tipos; Linguagem de programação (Computadores); Computação; Sistemas de tipos; Sistemas de tipos; Sobrecarga; Sobrecarga; Polimorfismo; Polimorfismo; Linguagens de programação; Linguagens de programação; Inferência de tipos; Inferência de tipos; Linguagem de programação (Computadores); Linguagem de programação (Computadores); Computação; Computação


Descrição

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.

Tipo de Documento Tese de doutoramento
Idioma Português
facebook logo  linkedin logo  twitter logo 
mendeley logo

Documentos Relacionados

Não existem documentos relacionados.