Results 1 -
8 of
8
On understanding types, data abstraction, and polymorphism
- ACM COMPUTING SURVEYS
, 1985
"... Our objective is to understand the notion of type in programming languages, present a model of typed, polymorphic programming languages that reflects recent research in type theory, and examine the relevance of recent research to the design of practical programming languages. Object-oriented languag ..."
Abstract
-
Cited by 727 (14 self)
- Add to MetaCart
Our objective is to understand the notion of type in programming languages, present a model of typed, polymorphic programming languages that reflects recent research in type theory, and examine the relevance of recent research to the design of practical programming languages. Object-oriented languages provide both a framework and a motivation for exploring the interaction among the concepts of type, data abstraction, and polymorphism, since they extend the notion of type to data abstraction and since type inheritance is an important form of polymorphism. We develop a λ-calculus-based model for type systems that allows us to explore these interactions in a simple setting, unencumbered by complexities of production programming languages. The evolution of languages from untyped universes to monomorphic and then polymorphic type systems is reviewed. Mechanisms for polymorphism such as overloading, coercion, subtyping, and parameterization are examined. A unifying framework for polymorphic type systems is developed in terms of the typed λ-calculus augmented to include binding of types by quantification as well as binding of values by abstraction. The typed λ-calculus is augmented by universal quantification to model generic functions with type parameters, existential quantification and packaging (information hiding) to model abstract data types, and
Non-trivial Power Types can't be Subtypes of Polymorphic Types
- in 4th Annual Symposium on Logic in Computer Science
, 1989
"... This paper establishes a new, limitative relation between the polymorphic lambda calculus and the kind of higher-order type theory which is embodied in the logic of toposes. It is shown that any embedding in a topos of the cartesian closed category of (closed) types of a model of the polymorphic lam ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
This paper establishes a new, limitative relation between the polymorphic lambda calculus and the kind of higher-order type theory which is embodied in the logic of toposes. It is shown that any embedding in a topos of the cartesian closed category of (closed) types of a model of the polymorphic lambda calculus must place the polymorphic types well away from the powertypes oe !\Omega of the topos, in the sense that oe !\Omega is a subtype of a polymorphic type only in the case that oe is empty (and hence oe !\Omega is terminal) . As corollaries, we obtain strengthenings of Reynolds' result on the non-existence of settheoretic models of polymorphism. Introduction The results reported in this paper have their origin in Reynolds' discovery that the standard set-theoretic model of the simply typed lambda calulus cannot be extended to model the polymorphic, or second-order, typed lambda calculus. In [9] Reynolds speculated that there might be a model of polymorphism in which the typ...
Fundamentals of Object Oriented Database Modelling
, 1996
"... Solid theoretical foundations of object oriented databases (OODBs) are still missing. The work reported in this paper contains results on a formally founded object oriented datamodel (OODM) and is intended to contribute to the development of a uniform mathematical theory of OODBs. A clear distinctio ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Solid theoretical foundations of object oriented databases (OODBs) are still missing. The work reported in this paper contains results on a formally founded object oriented datamodel (OODM) and is intended to contribute to the development of a uniform mathematical theory of OODBs. A clear distinction between objects and values turns out to be essential in the OODM. Types and classes are used to structure values and objects repectively. This can be founded on top of any underlying type system. We outline different approaches to type systems and their semantics and claim that OODB theory on top of arbitrary type systems leads to type theory with topos-theoretically defined semantics. On this basis the known solutions to the problems of unique object identification and genericity can be generalized. It turns out that extents of classes must be completely representable by values. Such classes are called value-representable. As a consequence object identifiers degenerate to a pure...
The Type Concept in OODB Modelling and its Logical Implications
, 2000
"... Conceptual modelling requires a solid mathematical theory of concepts concerning the collection of concepts used in a specific, but broad enough field. The field considered in this paper is database modelling. Here object orientation in the widest sense has been identified as a unifying conceptual u ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Conceptual modelling requires a solid mathematical theory of concepts concerning the collection of concepts used in a specific, but broad enough field. The field considered in this paper is database modelling. Here object orientation in the widest sense has been identified as a unifying conceptual umbrella that encompasses all relevant datamodels. The theory of object oriented databases has brought to light the fundamental distinction between the concepts of objects and values and correspondingly types and classes. This can be founded on top of any underlying type system. Thus, expressiveness of a datamodel basically depends on the type concept, from which the other concepts can be derived. In order to achieve a uniform mathematical theory we outline different type systems and their semantics and claim that OODB theory on top of arbitrary type systems leads to type theory with topos-theoretically defined semantics. On this basis the known solutions to the problems of unique ...
Typed Applicative Structures and Normalization by Evaluation for System F ω
"... Abstract. We present a normalization-by-evaluation (NbE) algorithm for System F ω with βη-equality, the simplest impredicative type theory with computation on the type level. Values are kept abstract and requirements on values are kept to a minimum, allowing many different implementations of the alg ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. We present a normalization-by-evaluation (NbE) algorithm for System F ω with βη-equality, the simplest impredicative type theory with computation on the type level. Values are kept abstract and requirements on values are kept to a minimum, allowing many different implementations of the algorithm. The algorithm is verified through a general model construction using typed applicative structures, called type and object structures. Both soundness and completeness of NbE are conceived as an instance of a single fundamental theorem.
A Generalization of Dijkstra's Calculus to Typed Program Specifications
"... . Dijkstra's predicate transformer calculus in its extended form gives an axiomatic semantics to program specications including partiality and recursion. However, even the classical theory is based on innitary rst order logic which is needed to guarantee the existence of predicate transformers f ..."
Abstract
- Add to MetaCart
. Dijkstra's predicate transformer calculus in its extended form gives an axiomatic semantics to program specications including partiality and recursion. However, even the classical theory is based on innitary rst order logic which is needed to guarantee the existence of predicate transformers for weakest (liberal) preconditions. This theory can be generalized to higher-order intuitionistic logic. Such logics can be interpreted in topoi. Then each topos E canonically corresponds to a denitionally complete theory T such that E is equivalent to the topos IE(T ) of denable types over T . Furthermore, each model of T in an arbitrary topos F canonically corresponds to a logical morphism IE(T ) ! F . This correspondence enables the denition of a type specication discipline with a semantics based on topoi such that the predicate transformers in the associated logic give an axiomatic semantics for typed program specications. 1 Motivation The semantics of programs and pr...

