Conciliação de Flexibilidade e Verificação Estática em Linguagens Orientadas a Objetos

  • Noemi de La Roque Rodriguez NIC / RNP / CNPq
  • Roberto Ierusalimschy PUC-Rio
  • José Lucas Rangel PUC-Rio

Resumo


O polimorfismo por herança, tal como usualmente apresentado por linguagens orientadas à objetos, introduz um conflito entre flexibilidade e verificação estática de tipos. Este trabalho descreve um sistema de tipos que resolve este conflito, através de facilidades para definição de hierarquias separadas para tipos e implementações e descrição de tipos genéricos com restrições.

Referências

P. America and F. van der Linden. A parallel object-oriented language with inheritance and subtyping. Sigplan Notices, 25(10), 1990. OOPSLA/ECOOP'90 Proceedings.

Pierre America. Issues in the design of a parallel object-oriented language. Formal Aspects of Computing, 1(4), 1989.

ANSL Ada Programming Language, 1983. ANSI/MIL-STD I815A.

G. Birtwistle, O. Dahl, B. Myhrhaug, and K. Nygaard. Simula Begin. Petrocelli Charter, 1975.

P. Canning et al. Interfaces for strongly-typed object-oriented programming. Sigplan Notices, 24(10):457-467, 1989. OOPSLA'89 Proccedings.

L. Cardelli and P. Wegner. On understanding types, data abstraction and polymorphism. ACM Computing Surveys, 17(4), 1985.

Charles Gescke and James Morris. Early experience with Mesa. Comm. ACM, 20(8), August 1977.

Giorgio Ghelli. A static type system for message passing. SIGPLAN Notices, 25(10), October 1991. (ECOOPS/OOPSLA'91 Proceedings).

Adele Goldberg and Dave Robson. Smalltalk-B0 : The Language and its Implementation. Addison-Wesley, 1983.

C. Hoare. A proof of correctness of data representations. Acta Informatica, 1(4), 1972.

Roberto lerusalimschy. The O=M programming language. Monografias em Ciência da Computação 3/91, PUC-Rio, Rio de Janeiro, Brazil, 1991.

Roberto Ierusalimschy. A denotational approach for type-checking in object-oriented programming languages. Computer Languages, 19(1):19-40, 1993.

P. A. Johnson and C. Rees. Reusability through fine-grain inheritance. Software - Practice and Experience, 22(12):1049-1068, 1992.

Barbara Liskov and John Guttag. Abstraction and Specification in Program Development. The MIT Press, 1986.

C. Lunau. Separation of hierarchies in Duo-Talk. Journal of Object-Oriented Programming, 2(2):20-26, 1989.

Ole Madsen and Boris Magnusson. Strong typing of object oriented languages revisited. In ECOOP/OOPSLA'90 Proceedings, pages 140-150, 1990.

Bertrand Meyer. Eiffel - a language and environment for software enginnering. The Journal of Systems and Software, 8(3):129-46, 1988.

N. Rodriguez, R. lerusalimschy, and J. L. Rangel. Types in School. Sigplan Notices, 28(8), 1993.

Noemi Rodriguez. Um Sistema de Tipos Orientado por Objetos, Incluindo Persistência. PhD thesis, Dep. Informática, PUC-Rio, Rio de Janeiro, Brazil, 1993.

SPA, Sistemas, Planejamento e Análise. TOOL for Windows: the object oriented language, 1992.

B. Stroustrup. The C++ Programming Language. Prentice-Hall, second edition, 1992.

N. Wirth. Programming in Modula-2. Springer-Verlag, third edition, 1985.
Publicado
27/10/1993
RODRIGUEZ, Noemi de La Roque; IERUSALIMSCHY, Roberto; RANGEL, José Lucas. Conciliação de Flexibilidade e Verificação Estática em Linguagens Orientadas a Objetos. 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. 282-294. DOI: https://doi.org/10.5753/sbes.1993.24411.