The Computer Journal · 1989 · 185 citations · 5 references
EngineeringType-correct Eiffel ProgramsGeneric ProgrammingInformation SecurityProgram AnalysisType TheoryDependently Typed ProgrammingSafety ScienceFormal MethodsSoftware AnalysisConformance HierarchyInherent SafetyComputer ScienceType SystemFormal VerificationType AttributesData Security
Statically type-correct Eiffel programs may produce run-time errors because (1) attributes may be redeclared during inheritance, invalidating assignments in the superclass, (2) a formal method argument type may be restricted in violation of the contravariance of function types, and (3) two applications of a generic class are assumed to conform if the actual arguments conform. The third problem is solved by case analysis on the variance of generic parameters. Declaration by association provides a solution to the first two problems, but is suffers from additional difficulties. Type attributes, or generic parameters with default values, are suggested as a replacement for most cases of declaration by association. The special association type used to express type recursion cannot be explained using type attributes, and its appears to be a truly novel construct for typing object-oriented programs. One consequence of this construct is that Eiffel's conformance hierarchy is a proper subset of its inheritance hierarchy.
5
An introduction to Trellis/Owl
Craig Schaffert, Topher Cooper, Bruce Bullis et al. · ACM SIGPLAN Notices · 1986 · 273 citations
A Denotational Semantics of Inheritance
William R. Cook · 1989 · 184 citations
Interfaces for strongly-typed object-oriented programming
Peter S. Canning, William R. Cook, Walter L. Hill et al. · 1989 · 128 citations · Full text
Bertrand Meyer · ACM SIGPLAN Notices · 1986 · 127 citations
Alan Snyder · ACM SIGPLAN Notices · 1986 · 51 citations