Next: Example linked list program
Up: Typing in object-oriented languages:
Previous: Conclusions and related work
- 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/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