Strongtalk: typechecking Smalltalk in a production environment

Strongtalk TM is a typechecker for a downwardcompatible Smalltalk dialect. It is designed for large-scale production software development, and incorporates a strong, modern structural type system. It not only separates the notions of type and class, but also deals with the more dicult issue of separating inheritance and subtyping using the notion of inherited types [CHC90, Bru93a] to preserve encapsulation. Strongtalk integrates inherited types, metaclasses, blocks and polymorphic methods into a highly usable, full-scale language.

[1]  Kim B. Bruce A paradigmatic object-oriented programming language: Design, static typing and semantics , 1994, Journal of Functional Programming.

[2]  J. Palsberg,et al.  Static Typing for Object-Oriented Programming , 1991 .

[3]  E JohnsonRalph,et al.  TS: an optimizing compiler for smalltalk , 1988 .

[4]  Martín Abadi,et al.  Dynamic typing in a statically-typed language , 1989, POPL '89.

[5]  Robin Milner,et al.  Definition of standard ML , 1990 .

[6]  Justin O. Graver,et al.  TS: an optimizing compiler for smalltalk , 1988, OOPSLA 1988.

[7]  Pierre America,et al.  A parallel object-oriented language with inheritance and subtyping , 1990, OOPSLA/ECOOP '90.

[8]  Norihisa Suzuki,et al.  Inferring types in Smalltalk , 1981, POPL '81.

[9]  Jens Palsberg,et al.  Object-oriented type inference , 1991, OOPSLA '91.

[10]  Alan Borning,et al.  Deltatalk: An Empirically and Aesthetically Motivated Simplification of the Smalltalk-80 Language , 1987, ECOOP.

[11]  William R. Cook,et al.  Inheritance is not subtyping , 1989, POPL '90.

[12]  Luca Cardelli,et al.  A Semantics of Multiple Inheritance , 1984, Inf. Comput..

[13]  Greg Nelson,et al.  Systems programming in modula-3 , 1991 .

[14]  John C. Mitchell,et al.  F-bounded polymorphism for object-oriented programming , 1989, FPCA.

[15]  Andreas V. Hense Type inference for O´small , 1991 .

[16]  Ralph E. Johnson,et al.  A type system for Smalltalk , 1989, POPL '90.

[17]  Luca Cardelli,et al.  On understanding types, data abstraction, and polymorphism , 1985, CSUR.

[18]  William R. Cook Interfaces and specifications for the Smalltalk-80 collection classes , 1992, OOPSLA 1992.

[19]  William R. Cook,et al.  Interfaces and specifications for the Smalltalk-80 collection classes , 1992, OOPSLA.

[20]  Justin O. Graver,et al.  Type checking and type inference for object-oriented programming languages , 1989 .

[21]  Luca Cardelli,et al.  A Semantics of Multiple Inheritance , 1984, Information and Computation.

[22]  Alan Borning,et al.  A type declaration and inference system for smalltalk , 1982, POPL '82.

[23]  Pavel Curtis Constrained qualification in polymorphic type analysis , 1990 .

[24]  Kim B. Bruce Safe type checking in a statically-typed object-oriented programming language , 1993, POPL '93.

[25]  Jens Palsberg,et al.  Static Typing for Object-Oriented Programming , 1991, Sci. Comput. Program..

[26]  William R. Cook,et al.  Interfaces for strongly-typed object-oriented programming , 1989, OOPSLA '89.

[27]  Jens Palsberg,et al.  Object-oriented type inference , 1991, OOPSLA 1991.

[28]  Jens Palsberg,et al.  What is Type-Safe Code Reuse? , 1990, ECOOP.

[29]  Jens Palsberg,et al.  Type substitution for object-oriented programming , 1990, OOPSLA/ECOOP '90.

[30]  Ralph E. Johnson,et al.  TS: an optimizing compiler for smalltalk , 1988, OOPSLA '88.