ECOOP 2001 — Object-Oriented Programming

The multiplicity of natural languages and the multiplicity of computer languages invite a false parallel. In fact computer languages have settled into an evolutionary rut that was carved by the needs of the earliest computers, while natural language evolves to even greater efficiencies. The talk will discuss "intentionality" as an important aspect of natural language, and the uses of intentionality in computer languages and in object oriented programming. Capabilities for Sharing A Generalisation of Uniqueness and Read-Only John Boyland, James Noble, and William Retert 1 University of Wisconsin-Milwaukee, USA, {boyland,williamr}@cs.uwm.edu 2 Victoria University of Wellington, New Zealand,

[1]  Bruce J. MacLennan Values and objects in programming languages , 1982, SIGP.

[2]  Jong-Deok Choi,et al.  Escape analysis for Java , 1999, OOPSLA '99.

[3]  John Tang Boyland,et al.  Promises: limited specifications for analysis and manipulation , 1998, Proceedings of the 20th International Conference on Software Engineering.

[4]  Tapio Salakoski,et al.  Improving Object Integrity and Preventing Side Effects via Deeply Immutable References , 1999 .

[5]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[6]  Marinus J. Plasmeijer,et al.  High Level Specification of I/O in Functional Languages , 1992, Functional Programming.

[7]  Paulo Sérgio Almeida Balloon Types: Controlling Sharing of State in Data Types , 1997, ECOOP.

[8]  John C. Reynolds,et al.  Intuitionistic reasoning about shared mutable data structure , 1999 .

[9]  Gregory R. Andrews,et al.  Language features for process interaction , 1977, Language Design for Reliable Software.

[10]  Henry G. Baker,et al.  “Use-once” variables and linear objects: storage management, reflection and multi-threading , 1995, SIGP.

[11]  James Noble,et al.  Iterators and encapsulation , 2000, Proceedings 33rd International Conference on Technology of Object-Oriented Languages and Systems TOOLS 33.

[12]  Benjamin Goldberg,et al.  Reference escape analysis: optimizing reference counting based on the lifetime of references , 1991 .

[13]  Bruno Blanchet,et al.  Escape analysis for object-oriented languages: application to Java , 1999, OOPSLA '99.

[14]  Jack B. Dennis,et al.  Programming semantics for multiprogrammed computations , 1966, CACM.

[15]  Bruce W. Weide,et al.  Copying and Swapping: Influences on the Design of Reusable Software Components , 1991, IEEE Trans. Software Eng..

[16]  Richard C. Holt,et al.  The Geneva convention on the treatment of object aliasing , 1992, OOPS.

[17]  Jan Vitek,et al.  Flexible Alias Protection , 1998, ECOOP.

[18]  David F. Bacon,et al.  Guava: a dialect of Java without data races , 2000, OOPSLA '00.

[19]  John Hogg,et al.  Islands: aliasing protection in object-oriented languages , 1991, OOPSLA '91.

[20]  Jan Vitek,et al.  Confined types , 1999, OOPSLA '99.

[21]  Klaus-Peter Löhr Concurrency annotations , 1992, OOPSLA 1992.

[22]  Aaron Greenhouse,et al.  An Object-Oriented Effects System , 1999, ECOOP.

[23]  Martin C. Rinard,et al.  Compositional pointer and escape analysis for Java programs , 1999, OOPSLA '99.

[24]  David Walker,et al.  Typed memory management in a calculus of capabilities , 1999, POPL '99.

[25]  James Noble,et al.  Ownership types for flexible alias protection , 1998, OOPSLA '98.

[26]  Urs Hölzle,et al.  Removing unnecessary synchronization in Java , 1999, OOPSLA '99.