Results 1 - 10
of
13
Inheritance As Implicit Coercion
- Information and Computation
, 1991
"... . We present a method for providing semantic interpretations for languages with a type system featuring inheritance polymorphism. Our approach is illustrated on an extension of the language Fun of Cardelli and Wegner, which we interpret via a translation into an extended polymorphic lambda calculus. ..."
Abstract
-
Cited by 104 (3 self)
- Add to MetaCart
. We present a method for providing semantic interpretations for languages with a type system featuring inheritance polymorphism. Our approach is illustrated on an extension of the language Fun of Cardelli and Wegner, which we interpret via a translation into an extended polymorphic lambda calculus. Our goal is to interpret inheritances in Fun via coercion functions which are definable in the target of the translation. Existing techniques in the theory of semantic domains can be then used to interpret the extended polymorphic lambda calculus, thus providing many models for the original language. This technique makes it possible to model a rich type discipline which includes parametric polymorphism and recursive types as well as inheritance. A central difficulty in providing interpretations for explicit type disciplines featuring inheritance in the sense discussed in this paper arises from the fact that programs can type-check in more than one way. Since interpretations follow the type...
Encoding types in ML-like languages
, 1998
"... A Hindley-Milner type system such as ML's seems to prohibit type-indexed values, i.e., functions that map a family of types to a family of values. Such functions generally perform case analysis on the input types and return values of possibly different types. The goal of our work is to demonstrate h ..."
Abstract
-
Cited by 38 (0 self)
- Add to MetaCart
A Hindley-Milner type system such as ML's seems to prohibit type-indexed values, i.e., functions that map a family of types to a family of values. Such functions generally perform case analysis on the input types and return values of possibly different types. The goal of our work is to demonstrate how to program with type-indexed values within a Hindley-Milner type system. Our first approach is to interpret an input type as its corresponding value, recursively. This solution is type-safe, in the sense that the ML type system statically prevents any mismatch between the input type and function arguments that depend on this type. Such specific type interpretations, however, prevent us from combining different type-indexed values that share the same type. To meet this objection, we focus on finding a value-independent type encoding that can be shared by different functions. We propose and compare two solutions. One requires first-class and higher-order polymorphism, and, thus, is not implementable in the core language of ML, but it can be programmed using higher-order functors in Standard ML of New Jersey. Its usage, however, is clumsy. The other approach uses embedding/projection functions. It appears to be more practical. We demonstrate the usefulness of type-indexed values through examples including type-directed partial evaluation, C printf-like formatting, and subtype coercions. Finally, we discuss the tradeoffs between our approach and some other solutions based on more expressive typing disciplines.
The Conservation Theorem revisited
, 1993
"... This paper describes a method of proving strong normalization based on an extension of the conservation theorem. We introduce a structural notion of reduction that we call fi S , and we prove that any -term that has a fi I fi S-normal form is strongly fi-normalizable. We show how to use this result ..."
Abstract
-
Cited by 26 (0 self)
- Add to MetaCart
This paper describes a method of proving strong normalization based on an extension of the conservation theorem. We introduce a structural notion of reduction that we call fi S , and we prove that any -term that has a fi I fi S-normal form is strongly fi-normalizable. We show how to use this result to prove the strong normalization of different typed -calculi.
Program Development in Constructive Type Theory
- Theoretical Computer Science
, 1992
"... We present the program development concept in a logical framework including constructive type theory and then show how to use such theories to derive programs from proofs of formal specifications. We are interested in two important facts that are the mechanization of the proof construction and the p ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
We present the program development concept in a logical framework including constructive type theory and then show how to use such theories to derive programs from proofs of formal specifications. We are interested in two important facts that are the mechanization of the proof construction and the possibility to express in the theory significiant concepts for programming (like inductively deøned types and general recursion). We give here a survey on some results and problems appearing in logical frameworks devoted to the programming with proofs approach.
The Scott model of Linear Logic is the extensional collapse of its relational model
, 2011
"... We show that the extensional collapse of the relational model of linear logic is the model of prime-algebraic complete lattices, a natural extension to linear logic of the well known Scott semantics of the lambda-calculus. ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We show that the extensional collapse of the relational model of linear logic is the model of prime-algebraic complete lattices, a natural extension to linear logic of the well known Scott semantics of the lambda-calculus.
βη-complete models for System F
, 2000
"... We show that Friedman's proof of the existence of non-trivial βη-complete models of λ→ can be extended to system F. We isolate a set of conditions which are sufficient to ensure βη-completeness for a model of F (and α-completeness at the level of types), and we discuss which class ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
We show that Friedman's proof of the existence of non-trivial βη-complete models of λ→ can be extended to system F. We isolate a set of conditions which are sufficient to ensure βη-completeness for a model of F (and α-completeness at the level of types), and we discuss which class of models we get. In particular, the model introduced in [5], having as polymorphic maps exactly all possible Scott continuous maps, is βη-complete and is hence the first known complete nonsyntactic model of F. In order to have a suitable framework where to express the conditions and develop the proof, we also introduce the very natural notion of "polymax models" of System F.
Building continuous webbed models for System F
, 2000
"... We present here a large family of concrete models for Girard and Reynolds polymorphism (System F ), in a non categorical setting. The family generalizes the construction of the model of Barbanera and Berardi [2], hence it contains complete models for F [5] and we conjecture that it contains models w ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We present here a large family of concrete models for Girard and Reynolds polymorphism (System F ), in a non categorical setting. The family generalizes the construction of the model of Barbanera and Berardi [2], hence it contains complete models for F [5] and we conjecture that it contains models which are complete for F . It also contains simpler models, the simplest of them, E 2 ; being a second order variant of the Engeler-Plotkin model E . All the models here belong to the continuous semantics and have underlying prime algebraic domains, all have the maximum number of polymorphic maps. The class contains models which can be viewed as two intertwined compatible webbed models of untyped -calculus (in the sense of [8]), but it is much larger than this. Finally many of its models might be read as two intertwined strict intersection type systems. Contents 1
On probabilistic coherence spaces
, 2008
"... We introduce a probabilistic version of coherence spaces and show that these objects provide a model of linear logic. We build a model of the pure lambda-calculus in this setting and show how to interpret a probabilistic version of the functional language PCF. We give a probabilistic interpretation ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We introduce a probabilistic version of coherence spaces and show that these objects provide a model of linear logic. We build a model of the pure lambda-calculus in this setting and show how to interpret a probabilistic version of the functional language PCF. We give a probabilistic interpretation of the semantics of probabilistic PCF closed terms of ground type.
βη-complete models for System F
, 2000
"... We show that Friedman's proof of the existence of non-trivial βη-complete models of λ→ can be extended to system F. We isolate a set of conditions which are sufficient to ensure βη-completeness for a model of F (and α-completeness at the level of types), and we di ..."
Abstract
- Add to MetaCart
We show that Friedman's proof of the existence of non-trivial βη-complete models of λ→ can be extended to system F. We isolate a set of conditions which are sufficient to ensure βη-completeness for a model of F (and α-completeness at the level of types), and we discuss which class of models we get. In particular, the model introduced in [5], having as polymorphic maps exactly all possible Scott continuous maps, is βη-complete and is hence the first known complete nonsyntactic model of F. In order to have a suitable framework where to express the conditions and develop the proof, we also introduce the very natural notion of "polymax models" of System F. 1
An Optimized Complete Semi-Algorithm for System . . .
, 1999
"... In this paper we give a new deterministic presentation of system F with -reduction. This presentation allow us to write a complete semi-algorithm for this system that may be useful in a real programming language. keywords: lambda-calculus, type-inference, type-checking 1 Introduction Motivation M ..."
Abstract
- Add to MetaCart
In this paper we give a new deterministic presentation of system F with -reduction. This presentation allow us to write a complete semi-algorithm for this system that may be useful in a real programming language. keywords: lambda-calculus, type-inference, type-checking 1 Introduction Motivation Most of the statically typed programming language (SML, OCaml, Haskell, ...) are based on Milner's restriction [1] of Girard and Reynolds System F [4, 13]. To improve the language, some complex extensions of the type-system are added to handle the needed features (modules with abstract types, object, some kind of polymorphic recursion). These extensions are quite complex both at the theoretical and the programming level. However, they leads to a decidable type-inference algorithm. Most, if not all, of these extensions could be handled inside system F. For instance, existential types are denable in system F and can be used to construct tuples with abstract types which correspond to the notio...

