Uma Experiência na Implementação de um Sistema de Tipos Fortes e Polimórficos

  • Walace de Almeida Rodrigues UFMG
  • Roberto da Silva Bigonha UFMG

Resumo


Uma das principais vantagens das linguagens fortemente tipadas é que em programas aceitos pelo compilador não poderão ocorrer erros de tipo durante a fase de execução. A desvantagem é que esta característica limita o domínio de aplicação das funções definidas na linguagem. Por outro lado, linguagens de programação modernas defendem a possibilidade de se ter polimorfismo, o qual é um recurso poderoso que permite ao programador definir funções que trabalham com argumentos de diversos tipos. Este artigo relata à experiência adquirida no projeto e implementação de um type-checker para à linguagem SDL utilizada para escrita de definições denotacionais de semântica. O sistema de tipos desta linguagem é de especial interesse uma vez que permite o polimorfismo associado à uma disciplina de tipos fortes.

Palavras-chave: semântica denotacional, SDL, polimorfismo, type-checking, equivalência de tipos

Referências

Walace A. Rodrigues. Compilação e otimização de uma linguagem para definição denotacional de semântica. Master's thesis, Universidade Federal de Minas Gerais, Belo Horizonte - MG, 1993.

L.M. Amaral. Interface homem-máquina do ambiente de definição semântica LDS. Master's thesis, Universidade Federal de Minas Gerais, Belo Horizonte - MG, 1992.

D.M. Berry. Type equivalence in strongly typed languages: One more look. Technical report, Faculty of Mathematics of Weizmann Institute, Israel, 1978.

R.S. Bigonha. A Denotational Semantics Implementation System. PhD thesis, University of California, Los Angeles, 1981.

D.S.Scott C.A.Gunter and P.D.Mosses. Semantics domains and denotational semantics. Technical report, University of Aarhus, Denmark, 1989.

Luca Cardelli and Wegner Peter. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4), Dec. 1985.

M.J.C. Gordon. The Denotational Description of bear Languages - An Introduction. Springer-Verlag, New York - Heiberg - Berlin, 1979.

C.A. Gunter. Semantics of programming language - structures and techniques. MTI Press, 1992.

J. Leite S.Jr. Linguagem de definição e geração de analisadores sintáticos em semântica denotacional legível. Master's thesis, Universidade Federal de Minas Gerais, Belo Horizonte - MG, 1993.

A.R. Milne and C. Strachey. A Theory of Programming Language Semantics, volume a and b. Chapman and Hall, London, 1976.

R. Milner. A theory of type polymorphism in programming. Journal of Computer and System Sciences, 17:348-375, 1978.

P.D. Mosses. Sis - a compiler-generator system using denotational semantics. Technical report, University of Arhus, 1978.

W.A.Rodrigues R.S.Bigonha, J.S.Leite and L.M.Amaral. Semântica denotacional legível. In Seminário Informática 25, Pontifícia Universidade Católica, Rio de Janeiro - RJ, agosto 1992.

D. Scott and C. Strachey. Toward a mathematical semantics for computer languages. In Proceedings Symposium on Computers and Automata. Polytechnic Institute of Brooklyn, 1971.

D.S. Scott. Outline of a mathematical theory of computation. Technical monograph prg-2, University of Oxford, 1971.

M. Solomon. Type definitions with parameters. In Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, University of Wisconsin - Madison, Jan. 1978.

J.E. Stoy. Denotational semantics: The Scott-Stratchey approach to programming language theory. MTI Press, 1977.

J.E. Stoy. Foundations of mathematical semantics. Lecture Notes, Copenhagen, Jan. 1979.

R.D. Tennent. Language design methods based on semantic principles. Acta Informática, 8(2):97-112, 1977.

R.D. Tennent. Another look at type compatibility in pascal. Software - Practice and Experience, 8:429-437, 1978.

J. Welsh. Ambiguities and insecurities in pascal. Software - Practice and Experience, 7:685-696, 1977.
Publicado
27/10/1993
RODRIGUES, Walace de Almeida; BIGONHA, Roberto da Silva. Uma Experiência na Implementação de um Sistema de Tipos Fortes e Polimórficos. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 7. , 1993, Rio de Janeiro/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1993 . p. 46-61. DOI: https://doi.org/10.5753/sbes.1993.24395.