Results 1 
5 of
5
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 23 (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.
Recursive Polymorphic Types and Parametricity in an Operational Framework
, 2005
"... We construct a realizability model of recursive polymorphic types, starting from an untyped language of terms and contexts. An orthogonality relation e # indicates when a term e and a context # may be safely combined in the language. Types are interpreted as sets of terms closed by biorthogonalit ..."
Abstract

Cited by 22 (1 self)
 Add to MetaCart
We construct a realizability model of recursive polymorphic types, starting from an untyped language of terms and contexts. An orthogonality relation e # indicates when a term e and a context # may be safely combined in the language. Types are interpreted as sets of terms closed by biorthogonality. Our main result states that recursive types are approximated by converging sequences of interval types. Our proof is based on a "typedirected" approximation technique, which departs from the "languagedirected" approximation technique developed by MacQueen, Plotkin and Sethi in the ideal model. We thus keep the language elementary (a callbyname #calculus) and unstratified (no typecase, no reduction labels). We also include a short account of parametricity, based on an orthogonality relation between quadruples of terms and contexts.
Typing NonUniform Concurrent Objects
, 1999
"... Concurrent objects oer services nonuniformly, as the availability of a service may depend on the internal state of the object. Typesasinterfaces is an approach not suitable to model nonuniform service availability, and the messagenotunderstood communication error is, in this setting, very r ..."
Abstract

Cited by 22 (7 self)
 Add to MetaCart
Concurrent objects oer services nonuniformly, as the availability of a service may depend on the internal state of the object. Typesasinterfaces is an approach not suitable to model nonuniform service availability, and the messagenotunderstood communication error is, in this setting, very restrictive. We propose a looser denition of communication error, demanding only weak fairness for the reception of messages, by not accounting as errors messages that request methods that may become enabled at some time in the future. This new notion of error detects messages that are never accepted, either because the requested method does not exists at all, or because the object is deadlocked and cannot change its state to accept the request. We formalise nonuniform concurrent objects in T yCO, a namepassing object calculus, and we ensure program safety via a type system. Types are terms of a process algebra which describe dynamic aspects of the behaviour of objects. The type sy...
Subtyping Union Types
, 2004
"... Subtyping rules can be fairly complex for union types, due to interactions with other types, such as function types. Furthermore, these interactions turn out to depend on the calculus considered: for instance, a callbyvalue calculus and a callbyname calculus will have different possible subtypin ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Subtyping rules can be fairly complex for union types, due to interactions with other types, such as function types. Furthermore, these interactions turn out to depend on the calculus considered: for instance, a callbyvalue calculus and a callbyname calculus will have different possible subtyping rules. In order to abstract ourselves away from this dependence, we consider a fairly large class of calculi. We define types in a semantic fashion, as sets of terms. Then, a type can be a subtype of another type if its denotation is included in the denotation of the other type. We first consider a simple type system with union, function, pair and constant types. Using inference rules, we specify a subtyping relation which is both sound and complete with respect to the class of calculi. We then extend this result to a richer type system with MLstyle polymorphism and type constructors. We expect this framework to allow the study of subtyping relations that only hold for some calculi by restricting the class considered, and to allow the study of subtyping relations for richer type systems by enriching the class.
Operational Subsumption, an Ideal Model of Subtyping
, 1998
"... In a previous paper we have defined a semantic preorder called operational subsumption, which compares terms according to their error generation behaviour. Here we apply this abstract framework to a concrete language, namely the AbadiCardelli object calculus. Unlike most semantic studies of objects ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
In a previous paper we have defined a semantic preorder called operational subsumption, which compares terms according to their error generation behaviour. Here we apply this abstract framework to a concrete language, namely the AbadiCardelli object calculus. Unlike most semantic studies of objects, which deal with typed equalities and therefore require explicitly typed languages, we start here from a untyped world. Type inference is introduced in a second step, together with an ideal model of types and subtyping. We show how this approach flexibly accommodates for several variants, and finally propose a novel semantic interpretation of structural subtyping as embeddingprojection pairs. 1 Introduction In a previous paper [10] we have defined a semantic preorder called operational subsumption, which compares terms according to their error generation behaviour. Together with the technical device of labeled reductions, used as a syntactic characterization of finite approximations, thi...