## Approximation Semantics and Expressive Predicate Assignment for Object-Oriented Programming (Extended Abstract)

Citations: | 4 - 4 self |

### BibTeX

@MISC{Rowe_approximationsemantics,

author = {R. N. S. Rowe and S. J. Van Bakel},

title = {Approximation Semantics and Expressive Predicate Assignment for Object-Oriented Programming (Extended Abstract)},

year = {}

}

### OpenURL

### Abstract

Abstract. We consider a semantics for a class-based object-oriented calculus based upon approximation; since in the context of LC such a semantics enjoys a strong correspondence with intersection type assignment systems, we also define such a system for our calculus and show that it is sound and complete. We establish the link with between type (we use the terminology predicate here) assignment and the approximation semantics by showing an approximation result, which leads to a sufficient condition for head-normalisation and termination. We show the expressivity of our predicate system by defining an encoding of Combinatory Logic (and so also LC) into our calculus. We show that this encoding preserves predicate-ability and also that our system characterises the normalising and strongly normalising terms for this encoding, demonstrating that the great analytic capabilities of these predicates can be applied to OO. 1

### Citations

1119 |
The Lambda Calculus: Its Syntax and Semantics
- Barendregt
- 1984
(Show Context)
Citation Context ... (ITD) [14, 15, 11, 2] stands out as a system that is closed under β-equality and gives rise to a filter model; it is defined as an extension of Curry’s basic type system for the Lambda Calculus (LC) =-=[10]-=-, by allowing term-variables to have many, potentially non-unifiable types. This generalisation leads to a very expressive system: for example, termination (i.e. normalisation) of terms can be charact... |

892 | A Theory of Objects
- Abadi, Cardelli
- 1996
(Show Context)
Citation Context ...t of extensive theoretical study over the last two decades. OO languages come in two broad flavours: the object (or prototype) based, and the class based. A number of formal models has been developed =-=[13, 12, 21, 18, 1, 19]-=-; for example, the ς-calculus [1] and Featherweight Java (FJ) [19] give elementary models for object based and class-based OO respectively. In an attempt to bring intersection types to the context of ... |

552 | Featherweight Java: a minimal core calculus for Java and GJ
- Igarashi, Pierce, et al.
- 2001
(Show Context)
Citation Context ...t of extensive theoretical study over the last two decades. OO languages come in two broad flavours: the object (or prototype) based, and the class based. A number of formal models has been developed =-=[13, 12, 21, 18, 1, 19]-=-; for example, the ς-calculus [1] and Featherweight Java (FJ) [19] give elementary models for object based and class-based OO respectively. In an attempt to bring intersection types to the context of ... |

485 | A semantics for multiple inheritance
- CARDELLI
- 1988
(Show Context)
Citation Context ...t of extensive theoretical study over the last two decades. OO languages come in two broad flavours: the object (or prototype) based, and the class based. A number of formal models has been developed =-=[13, 12, 21, 18, 1, 19]-=-; for example, the ς-calculus [1] and Featherweight Java (FJ) [19] give elementary models for object based and class-based OO respectively. In an attempt to bring intersection types to the context of ... |

321 | λµ-calculus: An algorithmic interpretation of classical natural deduction - Parigot - 1992 |

260 |
Domains for Denotational Semantics
- Scott
- 1982
(Show Context)
Citation Context ...ics is a well established area of research for both functional and imperative languages; for the functional programming language side, semantics is mainly denotational, based on Scott’s domain theory =-=[25]-=-, whereas for imperative languages it is mainly operational [24]. In this paper, we present the first results of our research in the direction of denotational, type-based semantics for object-oriented... |

215 |
A filter lambda model and the completeness of type assignment
- Barendregt, Coppo, et al.
- 1984
(Show Context)
Citation Context ...xtend towards semantics-based systems of abstract interpretation. Over the years many expressive type systems have been defined and investigated. Amongst those, the intersection type discipline (ITD) =-=[14, 15, 11, 2]-=- stands out as a system that is closed under β-equality and gives rise to a filter model; it is defined as an extension of Curry’s basic type system for the Lambda Calculus (LC) [10], by allowing term... |

211 |
Intensional interpretations of functionals of finite type I
- Tait
- 1967
(Show Context)
Citation Context ...otion of derivation reduction is terminating, i.e. strongly normalising. In other words, all derivations have a normal form with respect to→D. Our proof uses the well-known technique of computability =-=[26]-=-; the formal definition of the Comp(D) predicate is, as standard, defined inductively over the structure of predicates: Definition 17 (Computability). The set of computable derivations is defined as t... |

163 | A Lambda Calculus of Objects and Method Specialization
- Fisher, Honsell, et al.
- 1994
(Show Context)
Citation Context |

141 |
Type systems for programming languages
- Mitchell
- 1990
(Show Context)
Citation Context |

96 |
The relation between computational and denotational properties for Scott’s D∞-models of the lambda-calculus
- Wadsworth
(Show Context)
Citation Context ...nsitive closure of→. This notion of reduction is confluent. 3 Approximation Semantics In this section we define an approximation semantics for FJ ¢ . The notion of approximant was first introduced in =-=[27]-=- for LC. Essentially, an approximant is a partially evaluated expression in which the locations of incomplete evaluation (i.e. where reduction may still take place) are explicitly marked by the elemen... |

88 |
An extension of the basic functionality theory for the λ-calculus
- Coppo, Dezani-Ciancaglini
- 1980
(Show Context)
Citation Context ...xtend towards semantics-based systems of abstract interpretation. Over the years many expressive type systems have been defined and investigated. Amongst those, the intersection type discipline (ITD) =-=[14, 15, 11, 2]-=- stands out as a system that is closed under β-equality and gives rise to a filter model; it is defined as an extension of Curry’s basic type system for the Lambda Calculus (LC) [10], by allowing term... |

64 | Structural Operational Semantics
- Plotkin
- 1981
(Show Context)
Citation Context ...nd imperative languages; for the functional programming language side, semantics is mainly denotational, based on Scott’s domain theory [25], whereas for imperative languages it is mainly operational =-=[24]-=-. In this paper, we present the first results of our research in the direction of denotational, type-based semantics for object-oriented (OO) calculi, which we aim to extend towards semantics-based sy... |

61 | Intersection Type Assignment Systems
- Bakel
- 1995
(Show Context)
Citation Context ...xtend towards semantics-based systems of abstract interpretation. Over the years many expressive type systems have been defined and investigated. Amongst those, the intersection type discipline (ITD) =-=[14, 15, 11, 2]-=- stands out as a system that is closed under β-equality and gives rise to a filter model; it is defined as an extension of Curry’s basic type system for the Lambda Calculus (LC) [10], by allowing term... |

54 |
Functional characters of solvable terms. Zeitschrift für Mathematische Logik und 81 der Mathematik
- Coppo, Dezani-Ciancaglini, et al.
- 1981
(Show Context)
Citation Context |

41 |
Grundlagen der kombinatorischen Logik
- Curry
- 1930
(Show Context)
Citation Context ... non-trivial predicate in our system. Thus, we have a predicate-based characterisation of all (terminating) computable functions in OO. Combinatory Logic is a model of computation defined by H. Curry =-=[16]-=- independently of LC. It defines a higher-order term rewriting system over of the function symbols{S,K} and the following rewrite rules: K x y → x S x y z → x z (y z) Our encoding of CL in FJ ¢ is bas... |

25 | A Modality for Recursion
- Nakano
- 2000
(Show Context)
Citation Context ...using recursive definitions. This observation futher motivates and strengthens the case (by no means a new concept in the analysis of OO) for the use of recursive types in this area. Some recent work =-=[22]-=- shows that a restricted but still highly expressive form of recursive types can still characterise strongly normalising terms, and we hope to fuse this approach with our own to come to an equally pre... |

24 | M.: Normalization results for typeable rewrite systems
- Bakel, Fernández
- 1997
(Show Context)
Citation Context ...Inspired by this expressive power, investigations have taken place of the suitability ofintersection type assignment for other computational models: for example, van Bakel and Fernández have studied =-=[6, 7]-=- intersection types in the context of Term Rewriting Systems (TRS) and van Bakel studied them in the context of sequent calculi [4]. Also the object-oriented programming paradigm has been the subject ... |

14 | Cut-Elimination in the Strict Intersection Type Assignment System is Strongly Normalising. Notre Dame journal of Formal Logic
- Bakel
(Show Context)
Citation Context ...eorem: this states that for every predicate-able approximant of an expression, the same predicate can be assigned to the expression itself, and vice-versa: Π⊢e:φ⇔∃A∈A(e) [Π⊢A:φ]. As for other systems =-=[3, 7]-=-, this result is a direct consequence of the strong normalisability of derivation reduction: the structure of the normal form of a given derivation exactly corresponds to the structure of the approxim... |

12 | Normalisation, Approximation, and Semantics for Combinator Systems
- Bakel, Fernández
(Show Context)
Citation Context ...Inspired by this expressive power, investigations have taken place of the suitability ofintersection type assignment for other computational models: for example, van Bakel and Fernández have studied =-=[6, 7]-=- intersection types in the context of Term Rewriting Systems (TRS) and van Bakel studied them in the context of sequent calculi [4]. Also the object-oriented programming paradigm has been the subject ... |

9 | Logical equivalence for subtyping object and recursive types
- Bakel, de’Liguoro
(Show Context)
Citation Context ...xample, the ς-calculus [1] and Featherweight Java (FJ) [19] give elementary models for object based and class-based OO respectively. In an attempt to bring intersection types to the context of OO, in =-=[5]-=- van Bakel and de’Liguoro presented a system for the ς-calculus; it sees assignable types as an execution predicate, or applicability predicate, rather than as a functional characterisation as is the ... |

9 |
Detecting and Removing Dead-Code using Rank 2 Intersection
- Damiani, Prost
- 1998
(Show Context)
Citation Context ...ion results show that intersection types describe the full semantical behaviour of typeable terms. Intersection type systems have also been employed successfully in analyses for dead code elimination =-=[17]-=-, strictness analysis [20], and controlflow analysis [9], proving them a versatile framework for reasoning about programs. Inspired by this expressive power, investigations have taken place of the sui... |

7 | Modular Control-Flow Analysis with Rank 2 Intersection Types
- Banerjee, Jensen
(Show Context)
Citation Context ...l semantical behaviour of typeable terms. Intersection type systems have also been employed successfully in analyses for dead code elimination [17], strictness analysis [20], and controlflow analysis =-=[9]-=-, proving them a versatile framework for reasoning about programs. Inspired by this expressive power, investigations have taken place of the suitability ofintersection type assignment for other compu... |

6 | Completeness and Partial Soundness Results for Intersection & Union Typing for λµ ˜µ
- Bakel
(Show Context)
Citation Context ...ational models: for example, van Bakel and Fernández have studied [6, 7] intersection types in the context of Term Rewriting Systems (TRS) and van Bakel studied them in the context of sequent calculi =-=[4]-=-. Also the object-oriented programming paradigm has been the subject of extensive theoretical study over the last two decades. OO languages come in two broad flavours: the object (or prototype) based,... |

2 | Semantic Predicate Types for Class-based Object Oriented Programming - Bakel, Rowe - 2009 |

2 |
Types in Program Analysis
- Jensen
- 2002
(Show Context)
Citation Context ...rsection types describe the full semantical behaviour of typeable terms. Intersection type systems have also been employed successfully in analyses for dead code elimination [17], strictness analysis =-=[20]-=-, and controlflow analysis [9], proving them a versatile framework for reasoning about programs. Inspired by this expressive power, investigations have taken place of the suitability ofintersection t... |