Results 1  10
of
13
Using dependent types to express modular structure
 In Thirteenth ACM Symposium on Principles of Programming Languages
, 1986
"... Several related typed languages for modular programming and data abstraction have been proposed recently, including Pebble, SOL, and ML modules. We review and compare the basic typetheoretic ideas behind these languages and evaluate how they ..."
Abstract

Cited by 134 (5 self)
 Add to MetaCart
(Show Context)
Several related typed languages for modular programming and data abstraction have been proposed recently, including Pebble, SOL, and ML modules. We review and compare the basic typetheoretic ideas behind these languages and evaluate how they
Polymorphic Type Inference and Abstract Data Types
 ACM Transactions on Programming Languages and Systems
, 1994
"... Data Types Konstantin Läufer Martin Odersky Loyola University of Chicago Universität Karlsruhe laufer@math.luc.edu odersky@ira.uka.de June 5, 1994 Technical Report LUC001 Abridged version appeared in Transactions of Programming Languages and Systems Abstract Many staticallytyped programming lan ..."
Abstract

Cited by 66 (3 self)
 Add to MetaCart
Data Types Konstantin Läufer Martin Odersky Loyola University of Chicago Universität Karlsruhe laufer@math.luc.edu odersky@ira.uka.de June 5, 1994 Technical Report LUC001 Abridged version appeared in Transactions of Programming Languages and Systems Abstract Many staticallytyped programming languages provide an abstract data type construct, such as the module in Modula2. However, in most of these languages, implementations of abstract data types are not firstclass values. Thus they cannot be assigned to variables, passed as function parameters, or returned as function results. Several higherorder functional languages feature strong and static type systems, parametric polymorphism, algebraic data types, and explicit type variables. Most of them rely on Hindley Milner type inference instead of requiring explicit type declarations for identifiers. Although some of these languages support abstract data types, it appears that none of them directly provides lightweight abstract dat...
TypeTheoretic Methodology For Practical Programming Languages
 DEPARTMENT OF COMPUTER SCIENCE, CORNELL UNIVERSITY
, 1998
"... The significance of type theory to the theory of programming languages has long been recognized. Advances in programming languages have often derived from understanding that stems from type theory. However, these applications of type theory to practical programming languages have been indirect; the ..."
Abstract

Cited by 30 (3 self)
 Add to MetaCart
The significance of type theory to the theory of programming languages has long been recognized. Advances in programming languages have often derived from understanding that stems from type theory. However, these applications of type theory to practical programming languages have been indirect; the differences between practical languages and type theory have prevented direct connections between the two. This dissertation presents systematic techniques directly relating practical programming languages to type theory. These techniques allow programming languages to be interpreted in the rich mathematical domain of type theory. Such interpretations lead to semantics that are at once denotational and operational, combining the advantages of each, and they also lay the foundation for formal verification of computer programs in type theory. Previous type theories either have not provided adequate expressiveness to interpret practical languages, or have provided such expressiveness at the expense of essential features of the type theory. In particular, no previous type theory has supported a notion of partial functions (needed to interpret recursion in practical languages), and a notion of total functions and objects (needed to reason about data values), and an intrinsic notion of equality (needed for most interesting results). This dissertation presents the first type theory incorporating all three, and discusses issues arising in the design of that type theory. This type theory is used as the target of a typetheoretic semantics for a expressive programming calculus. This calculus may serve as an internal language for a variety of functional programming languages. The semantics is stated as a syntaxdirected embedding of the programming calculus into type theory. A critical point arising in both the type theory and the typetheoretic semantics is the issue of admissibility. Admissibility governs what types it is legal to form recursive functions over. To build a useful type theory for partial functions it is necessary to have a wide class of admissible types. In particular, it is necessary for all the types arising in the typetheoretic semantics to be admissible. In this dissertation I present a class of admissible types that is considerably wider than any previously known class.
Gras, A GraphOriented (software) Engineering Database System
 Information Systems
, 1995
"... Modern software systems for application areas like software engineering, CAD, or office automation are usually highly interactive and deal with rather complex object structures. For the realization of these systems a nonstandard database system is needed which is able to efficiently handle different ..."
Abstract

Cited by 17 (3 self)
 Add to MetaCart
Modern software systems for application areas like software engineering, CAD, or office automation are usually highly interactive and deal with rather complex object structures. For the realization of these systems a nonstandard database system is needed which is able to efficiently handle different types of coarse and finegrained objects (like documents and paragraphs), hierarchical and nonhierarchical relations between objects (like compositionlinks and crossreferences), and finally attributes of rather different size (like chapter numbers and bitmaps). Furthermore, this database system should support incremental computation of derived data, undo/redo of data modifications, error recovery from system crashes, and version control mechanisms. In this paper, we describe the underlying data model and the functionality of GRAS, a database system which has been designed according to the requirements mentioned above. Furthermore, we motivate our central design decisions concerning its ...
Atranslation and Looping Combinators in Pure Type Systems
 Journal of Functional Programming
, 1994
"... We present here a generalization of Atranslation to a class of Pure Type Systems. We apply this translation to give a direct proof of the existence of a looping combinator in a large class of inconsistent type systems, class which includes type systems with a type of all types. This is the first no ..."
Abstract

Cited by 12 (1 self)
 Add to MetaCart
(Show Context)
We present here a generalization of Atranslation to a class of Pure Type Systems. We apply this translation to give a direct proof of the existence of a looping combinator in a large class of inconsistent type systems, class which includes type systems with a type of all types. This is the first nonautomated solution to this problem.
A New Paradox in Type Theory
 Logic, Methodology and Philosophy of Science IX : Proceedings of the Ninth International Congress of Logic, Methodology, and Philosophy of Science
, 1994
"... this paper is to present a new paradox for Type Theory, which is a typetheoretic refinement of Reynolds' result [24] that there is no settheoretic model of polymorphism. We discuss then one application of this paradox, which shows unexpected connections between the principle of excluded middl ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
(Show Context)
this paper is to present a new paradox for Type Theory, which is a typetheoretic refinement of Reynolds' result [24] that there is no settheoretic model of polymorphism. We discuss then one application of this paradox, which shows unexpected connections between the principle of excluded middle and the axiom of description in impredicative Type Theories. 1 Minimal and Polymorphic HigherOrder Logic
Programming Language Semantics in Foundational Type Theory
 In Proc. the IFIP TC2/WG2.2,2.3 International Conference on Programming Concepts and Methods (PROCOMET’98
, 1996
"... There are compelling benefits to using foundational type theory as a framework for programming language semantics. I give a semantics of an expressive programming calculus in the foundational type theory of Nuprl. Previous typetheoretic semantics have used less expressive type theories, or have sacr ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
There are compelling benefits to using foundational type theory as a framework for programming language semantics. I give a semantics of an expressive programming calculus in the foundational type theory of Nuprl. Previous typetheoretic semantics have used less expressive type theories, or have sacrificed important programming constructs such as recursion and modules. The primary mechanisms of this semantics are partial types, for typing recursion, set types, for encoding power and singleton kinds, which are used for subtyping and module programming, and very dependent function types, for encoding signatures. Keywords Semantics, program verification, type theory, functional programming 1 INTRODUCTION Type theory has become a popular framework for formal reasoning in computer science and has formed the basis for a number of automated deduction systems, including Automath, Nuprl, HOL and Coq, among others. In addition to formalizing mathematics, these systems are widely used for the a...
A polymorphic λcalculus with Type:Type
 DEC SRC, 130 Lytton Avenue, Palo Alto, CA 94301. May. SRC Research Report
, 1986
"... acknowledgment of the authors and individuals contributors to the work; and all applicable portions of the copyright notice. Copying, reproducing, or republishing for any other purpose shall require a license with payment of fee to the Systems Research Center. All rights reserved. Page 1 ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
acknowledgment of the authors and individuals contributors to the work; and all applicable portions of the copyright notice. Copying, reproducing, or republishing for any other purpose shall require a license with payment of fee to the Systems Research Center. All rights reserved. Page 1
Parametricity and variants of Girard's J operator
, 1999
"... The GirardReynolds polymorphic calculus is generally regarded as a calculus of parametric polymorphism in which all wellformed terms are strongly normalizing with respect to fireductions. Girard demonstrated that the additional of a simple "nonparametric" operation, J , to the calculu ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
The GirardReynolds polymorphic calculus is generally regarded as a calculus of parametric polymorphism in which all wellformed terms are strongly normalizing with respect to fireductions. Girard demonstrated that the additional of a simple "nonparametric" operation, J , to the calculus allows the definition of a nonnormalizing term. Since the type of J is not inhabited by any closed term, one might suspect that this may play a role in defining a nonnormalizing term using it. We demonstrate that this is not the case by giving a simple variant, J 0 , of J whose type is otherwise inhabited and which causes normalization to fail. It appears that impredicativity is essential to the argument; predicative variants of the polymorphic calculus admit nonparametric operations without sacrificing normalization. Key words: Formal semantics, functional programming, programming calculi, programming languages, theory of computation. 1 This research was sponsored by the Advanced Research P...