next up previous contents
Next: Example linked list program Up: Typing in object-oriented languages: Previous: Conclusions and related work

References

Aba94
Martin Abadi.
Baby Modula-3 and a theory of objects.
Journal of functional programming, 4:249-283, 1994.

AC93
Roberto Amadio and Luca Cardelli.
Subtyping recursive types.
ACM Transactions on Programming Languages and Systems, 15(4):575-631, 1993.

AC95
Martin Abadi and Luca Cardelli.
On subtyping and matching.
In Proceedings ECOOP '95, pages 145-167, 1995.

AC96
Martin Abadi and Luca Cardelli.
A Theory of Objects.
Springer-Verlag, 1996.
to appear.

AG96
Ken Arnold and James Gosling.
Java.
Addison Wesley, 1996.

BCC+96
Kim B. Bruce, Luca Cardelli, Giuseppe Castagna, The Hopkins Objects Group, Gary T. Leavens, and Benjamin Pierce.
On binary methods.
Theory and Practice of Object-Oriented Systems, 1996.
to appear.

BDMN73
G.M. Birtwistle, O.-J. Dahl, B. Myhrhaug, and K. Nygaard.
SIMULA Begin.
Aurbach, 1973.

BH91
A. Black and N. Hutchinson.
Typechecking polymorphism in Emerald.
Technical Report CRL 91/1 (Revised), DEC Cambridge Research Lab, 1991.

BHJ+87
A. P. Black, N. Hutchinson, E. Jul, H. M. Levy, and L. Carter.
Distribution and abstract types in Emerald.
IEEE Transactions on Software Engineering, SE-13(1):65-76, 1987.

BHJL86
A. Black, N. Hutchinson, E. Jul, and H. Levy.
Object structure in the Emerald system.
In Proc. ACM Symp. on Object-Oriented Programming: Systems, Languages, and Applications, pages 78-86, October 1986.

BP96
Kim B. Bruce and Leaf Petersen.
Subtyping is not a good ``match'' for object-oriented languages.
Technical report, Williams College, 1996.
to appear.

Bru94
K. Bruce.
A paradigmatic object-oriented programming language: design, static typing and semantics.
Journal of Functional Programming, 4(2):127-206, 1994.
An earlier version of this paper appeared in the 1993 POPL Proceedings.

BSvG95
Kim B. Bruce, Angela Schuett, and Robert van Gent.
PolyTOIL: A type-safe polymorphic object-oriented language, extended abstract.
In ECOOP '95, pages 27-51. LNCS 952, Springer-Verlag, 1995.
A complete version of this paper with full proofs is available via http://www.cs.williams.edu/$\sim$kim/.

Car88a
L. Cardelli.
A semantics of multiple inheritance.
Information and Computation, 76:138-164, 1988.
Special issue devoted to Symp. on Semantics of Data Types, Sophia-Antipolis (France), 1984.

Car88b
L. Cardelli.
Structural subtyping and the notion of powertype.
In Proc 15th ACM Symp. Principles of Programming Languages, pages 70-79, 1988.

CCH+89
P. Canning, W. Cook, W. Hill, J. Mitchell, and W. Olthoff.
F-bounded quantification for object-oriented programming.
In Functional Prog. and Computer Architecture, pages 273-280, 1989.

CDG+88
L. Cardelli, J. Donahue, L. Galssman, M. Jordan, B. Kalsow, and G. Nelson.
Modula-3 report.
Technical Report SRC-31, DEC systems Research Center, 1988.

CHC90
William R. Cook, Walter L. Hill, and Peter S. Canning.
Inheritance is not subtyping.
In Proc. 17th ACM Symp. on Principles of Programming Languages, pages 125-135, January 1990.

Coo89
W.R. Cook.
A proposal for making Eiffel type-safe.
In European Conf. on Object-Oriented Programming, pages 57-72, 1989.

CW85
L. Cardelli and P. Wegner.
On understanding types, data abstraction, and polymorphism.
Computing Surveys, 17(4):471-522, 1985.

DGLM94
Mark Day, Robert Gruber, Barbara Liskov, and Andrew C. Meyers.
Abstraction mechanisms in Theta.
Technical report, MIT Laboratory for Computer Science, 1994.

DGLM95
Mark Day, Robert Gruber, Barbara Liskov, and Andrew C. Meyers.
Subtypes vs. where clauses: Constraining parametric polymorphism.
In Proc. ACM Symp. on Object-Oriented Programming: Systems, Languages, and Applications, pages 156-168, 1995.

DT88
S. Danforth and C. Tomlinson.
Type theories and object-oriented programming.
ACM Computing Surveys, 20(1):29-72, 1988.

GM94
Carl A. Gunter and John C. Mitchell.
Theoretical Aspects of Object-Oriented Programming.
MIT Press, Cambridge, MA, 1994.

GR83
A. Goldberg and D. Robson.
Smalltalk-80: The language and its implementation.
Addison Wesley, 1983.

HJW92
Paul Hudak, S. Peyton Jones, and Philip Wadler.
Report on the programming language Haskell, a non-strict purely functional language (version 1.2).
SIGPLAN Notices, 27(5), May 1992.

HMM86
R. Harper, D.B. MacQueen, and R. Milner.
Standard ML.
Technical Report ECS-LFCS-86-2, Lab. for Foundations of Computer Science, University of Edinburgh, March 1986.

Hut87
N. Hutchinson.
Emerald: An object-oriented language for distributed programming.
PhD thesis, University of Washington, 1987.

Int95
Intermetrics.
Ada 95 Reference Manual, version 6.0.
1995.

KMMPN87
Bent Bruun Kristensen, Ole Lehrmann Madsen, Birger Moller-Pedersen, and Kristen Nygaard.
The Beta programming language.
In Bruce Shriver and Peter Wegner, editors, Research Directions in Object-Oriented Programming, pages 7-48. M.I.T. Press, Cambridge, MA, 1987.

L+81
B. Liskov et al.
CLU Reference Manual, volume 114 of Lecture Notes in Computer Science.
Springer-Verlag, 1981.

Mey88
B. Meyer.
Object-Oriented Software Construction.
Prentice-Hall, 1988.

Mey92
B. Meyer.
Eiffel: the language.
Prentice-Hall, 1992.

Mey95
Bertrand Meyer.
Static typing.
OOPS Messenger, 6(4):20-29, 1995.
Text of an OOPSLA '95 address.

Pet96
Leaf Petersen.
A module system for LOOM.
Williams College Senior Honors Thesis, 1996.

PS95
Benjamin Pierce and Martin Steffen.
Higher-order subtyping.
Theoretical Computer Science, 1995.
To appear. A preliminary version appeared in IFIP Working Conference on Programming Concepts, Methods and Calculi (PROCOMET), June 1994, and as University of Edinburgh technical report ECS-LFCS-94-280 and Universität Erlangen-Nürnberg Interner Bericht IMMD7-01/94, January 1994.

PT94
Benjamin C. Pierce and David N. Turner.
Simple type-theoretic foundations for object-oriented programming.
Journal of functional programming, 4:207-247, 1994.
An earlier version appeared in Proc. of POPL '93, pp. 299-312.

RIR93
N. Rodriguez, R. Ierusalimschy, and J. L. Rangel.
Types in School.
SIGPLAN Notices, 28(8), 1993.

SCB+86
C. Schaffert, T. Cooper, B. Bullis, M. Kilian, and C. Wilpolt.
An introduction to Trellis/Owl.
In OOPSLA '86 Proceedings, pages 9-16. ACM SIGPLAN Notices,21(11), November 1986.

Sha91
David Shang.
Type-safe reuse of prototype software.
In Proc. 3rd Software Engineering and Knowledge Engineering International Conference, 1991.

Str86
B. Stroustrup.
The C++ Programming Language.
Addison-Wesley, 1986.

Tes85
L. Tesler.
Object Pascal report.
Technical Report 1, Apple Computer, 1985.

US 80
US Dept. of Defense.
Reference Manual for the Ada Programming Language.
GPO 008-000-00354-8, 1980.

Wir71
Niklaus Wirth.
The programming language Pascal.
Acta Informatica, 1:35-63, 1971.

Wir85
Niklaus Wirth.
Programming in Modula-2, 3rd edition.
Springer-Verlag, 1985.



Kim Bruce
10/28/1998