Document details

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

Author(s): Cristiano Damiani Vasconcellos

Date: 2019

Persistent ID: http://hdl.handle.net/1843/RVMR-65VJKR

Origin: Oasisbr

Subject(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


Description

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.

Document Type Doctoral thesis
Language Portuguese
facebook logo  linkedin logo  twitter logo 
mendeley logo

Related documents

No related documents