AbstractThis paper studies the question of when one abstract data type (ADT) is a behavioral subtype of another, and proposes a model-theoretic notion of weak behavioral subtyping. Weak behavioral subtyping permits supertype abstraction to be a sound and modular reasoning principle in a language with mutation and limited forms of aliasing. The necessary restrictions on aliasing can be statically checked. Weak behavioral subtyping allows types with mutable objects to be subtypes of types with immutable objects
The theory of subtyping which judges object type compatibility from both the syntactic point of view...
Object-oriented (OO) programs, which use subtyping and dynamic dispatch, make specification and veri...
Journal ArticleWe study the following problem in this paper. Suppose we have a purely functional pro...
AbstractThis paper studies the question of when one abstract data type (ADT) is a behavioral subtype...
Modularity and code reuse are two important features of object-oriented programming. Modularity mean...
Existing work on behavioral subtyping either ignores aliasing or restricts the behavior of additiona...
Modularity and code reuse are two important features of object-oriented programming. Modularity mea...
Programmers informally reason about object-oriented programs by using subtype relationships to class...
Constructor subtyping is a form of subtyping in which an inductive type A is viewed as a subtype of...
Abstract. In this paper we investigate the object-oriented notion of subtyping in the context of beh...
We present a model-theoretic study of correct behavioral subtyping for first-order, deterministic, a...
data types; F.3.2 [Logics and Meanings of Programs ] Semantics of Programming Languages --- algebrai...
A common change to object-oriented software is to add a new type of data that is a subtype of some e...
We present a refinement of the existential object model of Pierce and Turner. In addition to signatu...
Using equational logic as a specification language, we investigate the proof theory of behavioral su...
The theory of subtyping which judges object type compatibility from both the syntactic point of view...
Object-oriented (OO) programs, which use subtyping and dynamic dispatch, make specification and veri...
Journal ArticleWe study the following problem in this paper. Suppose we have a purely functional pro...
AbstractThis paper studies the question of when one abstract data type (ADT) is a behavioral subtype...
Modularity and code reuse are two important features of object-oriented programming. Modularity mean...
Existing work on behavioral subtyping either ignores aliasing or restricts the behavior of additiona...
Modularity and code reuse are two important features of object-oriented programming. Modularity mea...
Programmers informally reason about object-oriented programs by using subtype relationships to class...
Constructor subtyping is a form of subtyping in which an inductive type A is viewed as a subtype of...
Abstract. In this paper we investigate the object-oriented notion of subtyping in the context of beh...
We present a model-theoretic study of correct behavioral subtyping for first-order, deterministic, a...
data types; F.3.2 [Logics and Meanings of Programs ] Semantics of Programming Languages --- algebrai...
A common change to object-oriented software is to add a new type of data that is a subtype of some e...
We present a refinement of the existential object model of Pierce and Turner. In addition to signatu...
Using equational logic as a specification language, we investigate the proof theory of behavioral su...
The theory of subtyping which judges object type compatibility from both the syntactic point of view...
Object-oriented (OO) programs, which use subtyping and dynamic dispatch, make specification and veri...
Journal ArticleWe study the following problem in this paper. Suppose we have a purely functional pro...