| Aaron Greenhouse and John Boyland. An object-oriented e#ects system. In ECOOP'99, 1999. |
....computational e#ects within a program. E#ects systems originated in work by Gi#ord and Lucassen [8, 16] and were pursued by Talpin and Jouvelot [19, 20] amongst others. Interestingly most of these systems were defined for functional languages with simple forms of state. Greenhouse and Boyland [10] have recently suggested how an e#ects system could be incorporated within Java. The key di#culty is the interaction between the e#ects system and the abstraction facilities (mainly the notions of class and subclass) that makes Java, and object oriented programming in general, attractive. Although ....
....hinges on whether it can be used as a basis for investigations into various operational properties of Java. In this section, we give the details of one such investigation: the formal development and analysis of an e#ects systems for Java, following closely the suggestions of Boyland and Greenhouse [10]. Thus we will describe a simple extension of MJ with an e#ects system, calling the resulting language MJe. In the rest of this section we begin by giving an overview of the key features of the e#ects system of Boyland and Greenhouse. We then define formally MJe, giving the required extension to ....
[Article contains additional citation context not shown here]
A. Greenhouse and J. Boyland. An object-oriented e#ects system. In ECOOP, volume 1628 of Lecture Notes in Computer Science, pages 205--229, 1999.
....the scope of computational e#ects within a program. E#ects systems originated in work by Gi#ord and Lucassen [4] and were pursued by Talpin and Jouvelot [10] amongst others. Interestingly most of these systems were defined for functional languages with simple state. Greenhouse and Boyland [5] have recently suggested how an e#ects system could be incorporated within Java. The key di#culty is the interaction between the e#ects system and the abstraction facilities (mainly the notion of a class, and also a subclass) that makes Java, and object oriented programming in general, ....
....paper. The interested reader is referred to our technical report [1] 3 MJe: A core Java calculus with e#ects In this section we define formally our extension of MJ with an e#ects system. We call the resulting language MJe. This extension follows closely the suggestions of Boyland and Greenhouse [5]. In the rest of this section we begin by giving a brief overview of the key features of the e#ects system. We then define formally MJe, giving a complete definition of its type system, and an instrumented operational semantics. We conclude by proving the correctness of our e#ects system, a ....
[Article contains additional citation context not shown here]
A. Greenhouse and J. Boyland. An object-oriented e#ects system. In ECOOP, volume 1628 of Lecture Notes in Computer Science, pages 205--229, 1999.
.... Vault [16, 17] #Conventional Shallow Orthogonal AliasJava [1] Conventional Shallow Parameter Pivot Uniqueness [29] Capabilities for sharing [11] d #Conventional #Shallow #Parameter Islands [26] Conventional Full #Parameter Balloons [2] Conventional Full Parameter OOFX Alias Burying [9, 23] Conventional None Parameter Ei#el # [31] Conventional None Parameter Virginity [30] Free None Parameter Table 2. Comparison. Legend: not applicable; a e see text We consider three kinds of ownership encapsulation: shallow direct access to certain objects is limited. deep the only access ....
Aaron Greenhouse and John Boyland. An object-oriented e#ects system. In ECOOP'99, 1999.
.... Encapsulation Borrowing Abstraction Orthogonality De nitional This paper External Deep Orthogonal p p Ownership Types [14, 12, 13] None Deep Ownership Types [12, 11] None Shallow Flexible Alias Protection [29] Free Deep Islands [21] a Conventional Full Limited OOFX Alias Burying [9, 19] b Conventional None Limited , Ei el [27] Conventional None Limited Guava [3] Conventional Thread AliasJava [1] d Conventional Shallow Limited PRFJ [7] e Conventional E ectively Deep Limited Universes [28] f None Deep Balloons [2] g Conventional ....
....types, the lifetime of regions depends upon the lifetime of objects. We have plans to investigate this further, although recently Boyapati et.al. have made steps in this direction [8] Applications of ownership and uniqueness. Ownership typing has many applications: reasoning about programs [13, 19, 28], alias management [14, 29] eliminating data races [7] and deadlock [5] program understanding [1] and for safe lazy upgrades in object oriented databases [6] Other applications which could be explored for ownership typing, especially now that we have uniqueness, include enforcing protocols ....
Aaron Greenhouse and John Boyland. An object-oriented eects system. In ECOOP'99, 1999.
....this suggests that assignable clauses as currently available in JML may be fundamentally unsuited for a good i.e. accurate and correct static analysis. Indeed, it seems that the last word on best way to specify side e ects, by assignable clauses or other means, has not been said, e.g. see [3], 7] or [10] ....
A. Greenhouse and J. Boyland. An Object-Oriented Eects System. In ECOOP'99 | Object-Oriented Programming, 13th European Conference, number 1628 in LNCS, pages 205-229. Springer-Verlag, 1999.
....used as e#ects and checked against a program on a per command basis. 12] uses a type system containing e#ects as elements of a commutative idempotent algebra, which is similar to our requirement on idempotent maye #ects. Type systems supporting e#ect checking in object oriented programs include [11, 3, 4, 6]. In contrast to most type system approaches for e#ect checking, our e#ect checking approach is flow sensitive. Flow sensitivity is essential for dealing with aliasing in an object oriented programming language. 15] uses an instance of the technique described in this paper to check modifies ....
Aaron Greenhouse and John Boyland. An object-oriented e#ects system. In Proc. 13th European Conference on Object-Oriented Programming, number 1628 in Lecture Notes in Computer Science, pages 205--229, Berlin, Heidelberg, New York, 1999. Springer. 7
No context found.
Greenhouse, A., Boyland, J.: An object-oriented e#ects system. In Guerraoui, R., ed.: ECOOP'99 --- Object-Oriented Programming, 13th European Conference. Volume 1628 of Lecture Notes in Computer Science., Berlin, Heidelberg, New York, Springer (1999) 205--229
No context found.
Aaron Greenhouse and John Boyland. An object-oriented e#ects system. In ECOOP'99, 1999.
No context found.
Aaron Greenhouse and John Boyland. An object-oriented eects system. In European Conference for Object-Oriented Programming (ECOOP), June 1999.
No context found.
Aaron Greenhouse and John Boyland. An object-oriented e#ects system. In European Conference for Object-Oriented Programming (ECOOP), June 1999.
No context found.
Aaron Greenhouse and John Boyland. An object-oriented eects system. In European Conference for Object-Oriented Programming (ECOOP), June 1999.
No context found.
A. Greenhouse and J. Boyland. An Object-Oriented E#ects System. In ECOOP'99 --- Object-Oriented Programming, 13th European Conference, number 1628 in LNCS, pages 205--229. Springer-Verlag, 1999.
No context found.
A. Greenhouse and J. Boyland. An object-oriented e#ects system. In European Conference for Object-Oriented Programming (ECOOP), June 1999.
No context found.
A. Greenhouse and J. Boyland. An object-oriented e#ects system. In Proceedings of ECOOP, 1999.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC