|
ABSTRACT
PolyTOIL is a new statically typed polymorphic object-oriented programming language that is provably typesafe. By separating the definitions of subtyping and inheritance, providing a name for the type of self, and carefully defining the type-checking rules, we have obtained a language that is very expressive while supporting modular type-checking of classes. The matching relation on types, which is related to F-bounded quantification, is used both in stating type-checking rules and expressing the bounds on type parameters for polymorphism. The design of PolyTOIL is based on a careful formal definition of type-checking rules and semantics. A proof of type safety is obtained with the aid of a subject reduction theorem.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
|
| |
3
|
|
| |
4
|
|
| |
5
|
|
| |
6
|
Arnold, K. and Gosling, J. 1996. Java. Addison-Wesley, Reading MA.
|
| |
7
|
|
| |
8
|
Abadi, M. and Plotkin, G. D. 1990. A PER model of polymorphism and recursive types. In Proceedings of the Symposium on Logic in Computer Science, 355--365.
|
 |
9
|
Kim B. Bruce , Jon Crabtree , Thomas P. Murtagh , Robert van Gent , Allyn Dimock , Robert Muller, Safe and decidable type checking in an object-oriented language, Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, p.29-46, September 26-October 01, 1993, Washington, D.C., United States
|
| |
10
|
|
| |
11
|
Bruce, K. B., Fiech, A., and Petersen, L. 1997. Subtyping is not a good "match" for object-oriented languages. In Proceedings of ECOOP '97, Lecture Notes in Computer Science, vol. 1241, Springer-Verlag, New York, 104--127.
|
 |
12
|
Gilad Bracha , David Griswold, Strongtalk: typechecking Smalltalk in a production environment, Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, p.215-230, September 26-October 01, 1993, Washington, D.C., United States
|
| |
13
|
|
 |
14
|
Kim Bruce , John C. Mitchell, PER models of subtyping, recursive types and higher-order polymorphism, Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.316-327, January 19-22, 1992, Albuquerque, New Mexico, United States
[doi> 10.1145/143165.143230]
|
 |
15
|
|
| |
16
|
Bruce, K. B. 1994. A paradigmatic object-oriented programming language: Design, static typing and semantics. J. Funct. Program. 4, 2, 127--206. An earlier version of this paper appeared in the 1993 POPL Proceedings.
|
| |
17
|
|
| |
18
|
Bruce, K. B. and van Gent, R. 1993. TOIL: A new type-safe object-oriented imperative language. Tech. Rep. Williams College.
|
| |
19
|
|
| |
20
|
|
 |
21
|
Peter Canning , William Cook , Walter Hill , Walter Olthoff , John C. Mitchell, F-bounded polymorphism for object-oriented programming, Proceedings of the fourth international conference on Functional programming languages and computer architecture, p.273-280, September 11-13, 1989, Imperial College, London, United Kingdom
[doi> 10.1145/99370.99392]
|
 |
22
|
|
| |
23
|
Cook, W. R. 1989. A proposal for making Eiffel type-safe. In Proceedings of the European Conference on Object-Oriented Programming, 57--72.
|
 |
24
|
|
 |
25
|
Mark Day , Robert Gruber , Barbara Liskov , Andrew C. Myers, Subtypes vs. where clauses: constraining parametric polymorphism, Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications, p.156-168, October 15-19, 1995, Austin, Texas, United States
|
| |
26
|
|
 |
27
|
Jonathan Eifrig , Scott Smith , Valery Trifonov , Amy Zwarico, Application of OOP type theory: state, decidability, integration, Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications, p.16-30, October 23-28, 1994, Portland, Oregon, United States
|
| |
28
|
|
| |
29
|
|
| |
30
|
|
| |
31
|
|
| |
32
|
|
 |
33
|
Atshushi Igarashi , Benjamin Pierce , Philip Wadler, Featherwieght Java: a minimal core calculus for Java and GJ, Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.132-146, November 01-05, 1999, Denver, Colorado, United States
|
 |
34
|
Dinesh Katiyar , David Luckham , John Mitchell, A type system for prototyping languages, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.138-150, January 16-19, 1994, Portland, Oregon, United States
[doi> 10.1145/174675.177838]
|
| |
35
|
|
| |
36
|
Meyer, B. 1995. Static typing and other mysteries of life. Tech. Rep., Interactive Software Engineering, Inc. Text of invited address to OOPSLA '95.
|
 |
37
|
|
 |
38
|
Ole Lehrmann Madsen , Boris Magnusson , Birger Mølier-Pedersen, Strong typing of object-oriented languages revisited, Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications, p.140-150, September 1990, Ottawa, Canada
|
| |
39
|
Pierce, B. C. 1993. Mutable objects. Tech. Rep., University of Edinburgh.
|
| |
40
|
|
 |
41
|
|
 |
42
|
|
| |
43
|
|
 |
44
|
Craig Schaffert , Topher Cooper , Bruce Bullis , Mike Kilian , Carrie Wilpolt, An introduction to Trellis/Owl, Conference proceedings on Object-oriented programming systems, languages and applications, p.9-16, September 29-October 02, 1986, Portland, Oregon, United States
|
| |
45
|
Tesler, L. 1985. Object Pascal report. Tech. Rep. 1, Apple Computer.
|
| |
46
|
van Gent, R. 1993. TOIL: An imperative type-safe object-oriented language. Williams College Senior Honors Thesis.
|
|