skip to main content
10.1145/1557898.1557908acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Modelling Java requires state

Published:06 July 2009Publication History

ABSTRACT

Interesting questions concerning Java-like languages are often studied in the context of smaller programming calculi such as Featherweight Java. The simplicity of the syntax, and small number of features, and in particular the lack of state, make it possible to focus on the issues of interest. Although the programming languages are imperative, Featherweight Java and various similar calculi are functional.

We argue that the study of the type system of Java 5.0 and beyond requires a calculus with state. For example, the treatment of wildcards in Java is tailored to preserve soundness in the presence of stateful computation, a feature that is not present in functional calculi. A stateful calculus is necessary before the potential pitfalls of an incorrect proposal can be seen. We illustrate this point by showing that a traditional treatment of existential types (based on that historically known for the Lambda Calculus) is unsound for Java but remains sound for Featherweight Java.

References

  1. Atsushi Igarashi, Benjamin C. Pierce, and Philip Wadler. Featherweight java: a minimal core calculus for java and gj. ACM ToPLAS, 23(3):396--450, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. John C. Mitchell and Gordon D. Plotkin. Abstract types have existential type. ACM Transactions on Programming Languages and Systems, 10(3):470--502, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Benjamin C. Pierce. Types and programming languages. MIT Press, Cambridge, MA, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mads Torgersen, Christian Plesner Hansen, Erik Ernst, Peter von der Ahé, Gilad Bracha, and Neal Gafter. Adding wildcards to the java programming language. In SAC '04: Proceedings of the 2004 ACM symposium on Applied computing, pages 1289--1296, New York, NY, USA, 2004. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Modelling Java requires state

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Other conferences
              FTfJP '09: Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
              July 2009
              64 pages
              ISBN:9781605585406
              DOI:10.1145/1557898

              Copyright © 2009 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 6 July 2009

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              FTfJP '09 Paper Acceptance Rate10of15submissions,67%Overall Acceptance Rate51of75submissions,68%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader