Results 11 - 20
of
38
Weak Behavioral Subtyping for Types with Mutable Objects
- MATHEMATICAL FOUNDATIONS OF PROGRAMMING SEMANTICS, ELEVENTH ANNUAL CONFERENCE, VOLUME 1 OF ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE
, 1994
"... This paper studies the question of when one abstract data type (ADT) is a behavioral subtype of another, and proposes a model-theoretic notion of ... ..."
Abstract
-
Cited by 17 (9 self)
- Add to MetaCart
This paper studies the question of when one abstract data type (ADT) is a behavioral subtype of another, and proposes a model-theoretic notion of ...
Foundations for the Implementation of Higher-Order Subtyping
, 1997
"... We show how to implement a calculus with higher-order subtyping and subkinding by replacing uses of implicit subsumption with explicit coercions. To ensure this can be done, a polymorphic function is adjusted to take, as an additional argument, a proof that its type constructor argument has the desi ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
We show how to implement a calculus with higher-order subtyping and subkinding by replacing uses of implicit subsumption with explicit coercions. To ensure this can be done, a polymorphic function is adjusted to take, as an additional argument, a proof that its type constructor argument has the desired kind. Such a proof is extracted from the derivation of a kinding judgement and may in turn require proof coercions, which are extracted from subkinding judgements. This technique is formalized as a type-directed translation from a calculus of higher-order subtyping to a subtyping-free calculus. This translation generalizes an existing result for second-order subtyping calculi (such as F ). We also discuss two interpretations of subtyping, one that views it as type inclusion and another that views it as the existence of a well-behaved coercion, and we show, by a type-theoretic construction, that our translation is the minimum consequence of shifting from the inclusion interpretation to th...
The Meaning of Types - From Intrinsic to Extrinsic Semantics
- Department of Computer Science, University of Aarhus
, 2000
"... A definition of a typed language is said to be "intrinsic" if it assigns meanings to typings rather than arbitrary phrases, so that ill-typed phrases are meaningless. In contrast, a definition is said to be "extrinsic " if all phrases have meanings that are independent of their typings, while typing ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
A definition of a typed language is said to be "intrinsic" if it assigns meanings to typings rather than arbitrary phrases, so that ill-typed phrases are meaningless. In contrast, a definition is said to be "extrinsic " if all phrases have meanings that are independent of their typings, while typings represent properties of these meanings. For a simply typed lambda calculus, extended with recursion, subtypes, and named products, we give an intrinsic denotational semantics and a denotational semantics of the underlying untyped language. We then establish a logical relations theorem between these two semantics, and show that the logical relations can be "bracketed" by retractions between the domains of the two semantics. From these results, we derive an extrinsic semantics that uses partial equivalence relations.
Parametric and Type-Dependent Polymorphism
, 1995
"... Data Types, though, as Reynolds stresses, is not perfectly suited for higher type or higher order systems and, thus, he proposes a "relational" treatment of invariance: computations do not depend on types in the sense that they are "invariant" w.r.t. arbitrary relations on types and between types. R ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
Data Types, though, as Reynolds stresses, is not perfectly suited for higher type or higher order systems and, thus, he proposes a "relational" treatment of invariance: computations do not depend on types in the sense that they are "invariant" w.r.t. arbitrary relations on types and between types. Reynolds's approach set the basis for most of the current work on parametricity, as we will review below (.3). Some twelve years earlier, Girard had given just a simple hint towards another understanding of the properties of "computing with types". In [Gir71], it is shown, as a side remark, that, given a type A, if one defines a term J A such that, for any type B, J A B reduces to 1, if A = B, and reduces to 0, if A ¹ B, then F + J A does not normalize. In particular, then, J A is not definable in F. This remark on how terms may depend on types is inspired by a view of types which is quite different from Reynolds's. System F was born as the theory of proofs of second order intuitionis...
The Behavior-Realization Adjunction and Generalized Homomorphic Relations
- COMP. SCI
, 1996
"... A model theory for proving correctness of abstract data types is developed within the framework of the behavior-realization adjunction. To allow for incomplete specifications, proof-of-correctness ... ..."
Abstract
-
Cited by 9 (5 self)
- Add to MetaCart
A model theory for proving correctness of abstract data types is developed within the framework of the behavior-realization adjunction. To allow for incomplete specifications, proof-of-correctness ...
Semantics of architectural specifications in Casl
- Proc. 4th Intl. Conf. Fundamental Approaches to Software Engineering FASE’01, Springer LNCS 2029
, 2001
"... Abstract. We present a semantics for architectural specifications in Casl, including an extended static analysis compatible with modeltheoretic requirements. The main obstacle here is the lack of amalgamation for Casl models. To circumvent this problem, we extend the Casl logic by introducing enrich ..."
Abstract
-
Cited by 8 (6 self)
- Add to MetaCart
Abstract. We present a semantics for architectural specifications in Casl, including an extended static analysis compatible with modeltheoretic requirements. The main obstacle here is the lack of amalgamation for Casl models. To circumvent this problem, we extend the Casl logic by introducing enriched signatures, where subsort embeddings form a category rather than just a preorder. The extended model functor has amalgamation, which makes it possible to express the amalgamability conditions in the semantic rules in static terms. Using these concepts, we develop the semantics at various levels in an institution-independent fashion.
Preliminary Design of Larch/C++
- PROCEEDINGS OF THE FIRST INTERNATIONAL WORKSHOP ON LARCH, JULY, 1992, WORKSHOPS IN COMPUTING
, 1992
"... We describe the problems encountered in the design of Larch/C++, especially its object-oriented features. We discuss a range of possible solutions to these problems, and give the rationale for our particular solutions. We also present examples of Larch/C++ specifications and discuss differences fr ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We describe the problems encountered in the design of Larch/C++, especially its object-oriented features. We discuss a range of possible solutions to these problems, and give the rationale for our particular solutions. We also present examples of Larch/C++ specifications and discuss differences from Larch/C.
Subject reduction and minimal types for higher order subtyping
- In Proceedings of the Second Chinese Language Processing Workshop
, 1997
"... We define the typed lambda calculus F ω ∧ , a natural generalization of Girard’s system F ω with intersection types and bounded polymorphism. A novel aspect of our presentation is the use of term rewriting techniques to present intersection types, which clearly splits the computational semantics (re ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
We define the typed lambda calculus F ω ∧ , a natural generalization of Girard’s system F ω with intersection types and bounded polymorphism. A novel aspect of our presentation is the use of term rewriting techniques to present intersection types, which clearly splits the computational semantics (reduction rules) from the syntax (inference rules) of the system. We establish properties such as Church-Rosser for the reduction relation on types and terms, and Strong Normalization for the reduction on types. We prove that types are preserved by computation (Subject Reduction property), and that the system satisfies the Minimal Types property. On the way to establishing these results, we define algorithms for type inference and subtype checking. 1
On Typed Calculi with a Merge Operator
- In 14th Conference on Foundations of Software Technology and Theoretical Computer Science, LNCS 880
, 1994
"... . Extensions of the simply typed lambda calculus with a merge operator are defined and investigated. A merge of functions denotes a function which can be applied to more than one type and computes the result by merging the results of the component functions. We propose first two calculi in which the ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
. Extensions of the simply typed lambda calculus with a merge operator are defined and investigated. A merge of functions denotes a function which can be applied to more than one type and computes the result by merging the results of the component functions. We propose first two calculi in which the inconsistency between the return values of the component functions is solved using a non-symmetric rule, and show that they do not have good proof-theoretic properties: one does not have the Strong Normalization Property, and the other does not have the Transitivity of Coercions Property. Then, using the type system, we restrict the two calculi in a way that terms which may cause inconsistency are excluded, and show that the two calculi become equivalent and have all the desired properties. A merge of functions in object oriented programming corresponds to writing a method in a subclass by modifying those in superclasses, and the above restriction corresponds to only allowing adding some be...

