Results 1  10
of
10
Compilation and Equivalence of Imperative Objects
, 1998
"... We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling objectoriented languages. We present both a bigstep and a smallstep substitutionbased operational semantics fo ..."
Abstract

Cited by 32 (4 self)
 Add to MetaCart
(Show Context)
We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling objectoriented languages. We present both a bigstep and a smallstep substitutionbased operational semantics for the calculus. Our rst two results are theorems asserting the equivalence of our substitutionbased semantics with a closurebased semantics like that given by Abadi and Cardelli. Our third result is a direct proof of the correctness of compilation to a stackbased abstract machine via a smallstep decompilation algorithm. Our fourth result is that contextual equivalence of objects coincides with a form of Mason and Talcott's CIU equivalence; the latter provides a tractable means of establishing operational equivalences. Finally, we prove correct an algorithm, used in our prototype compiler, for statically resolving method osets. This is the rst study of correctness of an objectoriented abstract machine, and of operational equivalence for the imperative object calculus.
Semantic Types: A Fresh Look at the Ideal Model for Types
, 2004
"... We present a generalization of the ideal model for recursive polymorphic types. Types are defined as sets of terms instead of sets of elements of a semantic domain. Our proof of the existence of types (computed by fixpoint of a typing operator) does not rely on metric properties, but on the fact tha ..."
Abstract

Cited by 24 (2 self)
 Add to MetaCart
We present a generalization of the ideal model for recursive polymorphic types. Types are defined as sets of terms instead of sets of elements of a semantic domain. Our proof of the existence of types (computed by fixpoint of a typing operator) does not rely on metric properties, but on the fact that the identity is the limit of a sequence of projection terms. This establishes a connection with the work of Pitts on relational properties of domains. This also suggests that ideals are better understood as closed sets of terms defined by orthogonality with respect to a set of contexts.
Optimal Purely Functional Priority Queues
 JOURNAL OF FUNCTIONAL PROGRAMMING
, 1996
"... Brodal recently introduced the first implementation of imperative priority queues to support findMin, insert, and meld in O(1) worstcase time, and deleteMin in O(log n) worstcase time. These bounds are asymptotically optimal among all comparisonbased priority queues. In this paper, we adapt B ..."
Abstract

Cited by 18 (1 self)
 Add to MetaCart
Brodal recently introduced the first implementation of imperative priority queues to support findMin, insert, and meld in O(1) worstcase time, and deleteMin in O(log n) worstcase time. These bounds are asymptotically optimal among all comparisonbased priority queues. In this paper, we adapt Brodal's data structure to a purely functional setting. In doing so, we both simplify the data structure and clarify its relationship to the binomial queues of Vuillemin, which support all four operations in O(log n) time. Specifically, we derive our implementation from binomial queues in three steps: first, we reduce the running time of insert to O(1) by eliminating the possibility of cascading links; second, we reduce the running time of findMin to O(1) by adding a global root to hold the minimum element; and finally, we reduce the running time of meld to O(1) by allowing priority queues to contain other priority queues. Each of these steps is expressed using MLstyle functors. The last transformation, known as datastructural bootstrapping, is an interesting application of higherorder functors and recursive structures.
Objects as Mobile Processes
 RESEARCH SERIES RS9638, BRICS
, 1996
"... The object calculus of Abadi and Cardelli [AC96, AC94b, AC94a] is intended as model of central aspects of objectoriented programming languages. In this paper we encode the object calculus in the asynchronous picalculus without matching and investigate the properties of our encoding. ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
The object calculus of Abadi and Cardelli [AC96, AC94b, AC94a] is intended as model of central aspects of objectoriented programming languages. In this paper we encode the object calculus in the asynchronous picalculus without matching and investigate the properties of our encoding.
Regular Trace Event Structures
, 1996
"... We propose trace event structures as a starting point for constructing effective branching time temporal logics in a noninterleaved setting. ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
We propose trace event structures as a starting point for constructing effective branching time temporal logics in a noninterleaved setting.
Logical Relations for Dynamic . . .
 IN PROC. CSL/KGL'03, VOLUME 2803 OF LNCS
, 2003
"... Pitts and Stark's nucalculus is a typed lambdacalculus which forms a basis for the study of interaction between higherorder functions and dynamically created names. A similar approach has received renewed attention recently through Sumii and Pierce's cryptographic lambdacalculus, w ..."
Abstract
 Add to MetaCart
Pitts and Stark's nucalculus is a typed lambdacalculus which forms a basis for the study of interaction between higherorder functions and dynamically created names. A similar approach has received renewed attention recently through Sumii and Pierce's cryptographic lambdacalculus, which deals with security protocols. Logical relations are a powerful tool to prove properties of such a calculus, notably observational equivalence. While Pitts and Stark construct a logical relation for the nucalculus, it rests heavily on operational aspects of the calculus and is hard to be extended. We propose an alternative Kripke logical relation for the nucalculus, which is derived naturally from the categorical model of the nucalculus and the general notion of Kripke logical relation. This is also related to the Kripke logical relation for the name creation monad by GoubaultLarrecq et al. (CSL'2002), which the authors claimed had similarities with Pitts and Stark's logical relation. We show that their Kripke logical relation for names is strictly weaker than Pitts and Stark's. We also show that our Kripke logical relation, which extends the de nition of GoubaultLarrecq et al., is equivalent to Pitts and Stark's up to rstorder types; our de nition rests on purely semantic constituents, and dispenses with the detours through operational semantics that Pitts and Stark use.
A Typed Semantics of HigherOrder Store and
"... Abstract. We consider a callbyvalue language, with higherorder functions, records, references to values of arbitrary type, and subtyping. We adapt an intrinsic denotational model for a similar language based on a possibleworld semantics, recently given by Levy [14], and relate it to an untyped m ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. We consider a callbyvalue language, with higherorder functions, records, references to values of arbitrary type, and subtyping. We adapt an intrinsic denotational model for a similar language based on a possibleworld semantics, recently given by Levy [14], and relate it to an untyped model by a logical relation. Following the methodology of Reynolds [22], this relation is used to establish coherence of the typed semantics, with a coercion interpretation of subtyping. We obtain a typed denotational semantics of (imperative) objectbased languages. 1
First Year Report: Symmetric Action Calculi
, 1998
"... ion ab x is already symmetric and so needs no mirror. The datum operator would lead to an inversedatum, presumably with the same behaviour as above. And ! would be mirrored with a # operator. From the abstraction operator ab x wewould be able to derivetwo further abstraction operators: lefthanded ..."
Abstract
 Add to MetaCart
ion ab x is already symmetric and so needs no mirror. The datum operator would lead to an inversedatum, presumably with the same behaviour as above. And ! would be mirrored with a # operator. From the abstraction operator ab x wewould be able to derivetwo further abstraction operators: lefthanded binding #x#t = ab x t##!# id# and righthanded binding #x#t =### id##ab x t. This approach appears inelegant. It has two more operators that the previous suggestion but is no more expressive. #Proof: ab x ###, !, # can all be derived from x + , x , and ### x #. 4 Symmetric action calculi with named identities: f x, !, #, ### x g A third possibility is to remove the datum operator and have named identities x : p!p as illustrated below. The expression # #x would be equivalent to a datum, and x#! to an inverse datum. The scoping operator would presumably be the same as in #t# x above. # # Named identity x + derived from x , derived from named identity named identity It is not...
Personnel Reasoning with Names and Identity in Programming Languages
"... domain theory, models of concurrency, functional and objectoriented languages. His investigation of local names, originally in collaboration with Pitts, forms the basis for this proposal [33, 34, 38, 39, 40]. He has also published work on categorical models for concurrency, both independently and i ..."
Abstract
 Add to MetaCart
(Show Context)
domain theory, models of concurrency, functional and objectoriented languages. His investigation of local names, originally in collaboration with Pitts, forms the basis for this proposal [33, 34, 38, 39, 40]. He has also published work on categorical models for concurrency, both independently and in collaboration with Winskel and Cattani; and is involved in the development of the MLj compiler of Benton, Kennedy and Russell [5]. He presently supervises one PhD student, Chothia, who is working on a calculus of names in distributed systems. Host organisation
Abstract Type Generativity in HigherOrder Module Systems
"... We present a higherorder module system similar to those found ..."