ACM Home Page
Please provide us with feedback. Feedback
Featherwieght Java: a minimal core calculus for Java and GJ
Full text PdfPdf (1.55 MB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Denver, Colorado, United States
Pages: 132 - 146  
Year of Publication: 1999
ISBN:1-58113-238-7
Also published in ...
Authors
Atshushi Igarashi  Dept. of Comp. & Info. Sci., University of Pennsylvania
Benjamin Pierce  Dept. of Comp. & Info. Sci., University of Pennsylvania
Philip Wadler  Bell Laboratories, Lucent Technologies
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 50,   Citation Count: 49
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/320384.320395
What is a DOI?

ABSTRACT

Several recent studies have introduced lightweight versions of Java: reduced languages in which complex features like threads and reflection are dropped to enable rigorous arguments about key properties such as type safety. We carry this process a step further, omitting almost all features of the full language (including interfaces and even assignment) to obtain a small calculus, Featherweight Java, for which rigorous proofs are not only possible but easy.Featherweight Java bears a similar relation to full Java as the lambda-calculus does to languages such as ML and Haskell. It offers a similar computational “feel,” providing classes, methods, fields, inheritance, and dynamic typecasts, with a semantics closely following Java's. A proof of type safety for Featherweight Java thus illustrates many of the interesting features of a safety proof for the full language, while remaining pleasingly compact. The syntax, type rules, and operational semantics of Featherweight Java fit on one page, making it easier to understand the consequences of extensions and variations.As an illustration of its utility in this regard, we extend Featherweight Java with generic classes in the style of GJ (Bracha, Odersky, Stoutamire, and Wadler) and sketch a proof of type safety. The extended system formalizes for the first time some of the key features of GJ.


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
H. P. Barendregt. The Lambda Calculus. North Holland, revised edition, 1984.
 
4
 
5
 
6
Viviana Bono, Amit J. Patel, Vitaly Shmatikov, and John C. Mitchell. A core calculus of classes and objects. In Fifteenth Confertence on the Mathematical Foundations of Programming Semantics, April 1999.
7
 
8
Kim B. Bruce. A paradigmatic object-oriented programming language' Design, static typing and semantics. Journal of Functional Programming, 4(2), April 1994. Preliminary version in POPL 1993, under the title "Safe type checking in a statically typed object-oriented programming language".
 
9
10
 
11
 
12
 
13
14
 
15
Matthew Flatt, Shriram Krishnamurthi, and Matthias Felleisen. A programmer's reduction semantics for classes and mixins. Technical Report TR97-293, Computer Science Department, Rice University, February 1998. Corrected version appeared in June, 1999.
 
16
Atsushi Igarashi and Benjamin C. Pierce. On inner classes, july 1999. Submitted for publication.
17
18
19
 
20
Benjamin C. Pierce and David N. Turner. Simple type-theoretic foundations for object-oriented programming. Journal of Functional Programming, 4(2):207-247, April 1994. Preliminary version in Principles of Programming Languages (POPL), 1993.
 
21
Don Syme. Proving Java type soundness. Technical Report 427, Computer Laboratory, University of Cambridge, June 1997.
 
22

CITED BY  49

Collaborative Colleagues:
Atshushi Igarashi: colleagues
Benjamin Pierce: colleagues
Philip Wadler: colleagues