Results 1  10
of
17
Programming with Intersection Types and Bounded Polymorphism
, 1991
"... representing the official policies, either expressed or implied, of the U.S. Government. ..."
Abstract

Cited by 67 (4 self)
 Add to MetaCart
representing the official policies, either expressed or implied, of the U.S. Government.
Programming With Intersection Types, Union Types, and Polymorphism
, 1991
"... Type systems based on intersection types have been studied extensively in recent years, both as tools for the analysis of the pure calculus and, more recently, as the basis for practical programming languages. The dual notion, union types, also appears to have practical interest. For example, by re ..."
Abstract

Cited by 50 (3 self)
 Add to MetaCart
Type systems based on intersection types have been studied extensively in recent years, both as tools for the analysis of the pure calculus and, more recently, as the basis for practical programming languages. The dual notion, union types, also appears to have practical interest. For example, by refining types ordinarily considered as atomic, union types allow a restricted form of abstract interpretation to be performed during typechecking. The addition of secondorder polymorphic types further increases the power of the type system, allowing interesting variants of many common datatypes to be encoded in the "pure" fragment with no type or term constants. This report summarizes a preliminary investigation of the expressiveness of a programming language combining intersection types, union types, and polymorphism.
From Polyvariant Flow Information to Intersection and Union Types
 J. FUNCT. PROGRAMMING
, 1998
"... Many polyvariant program analyses have been studied in the 1990s, including kCFA, polymorphic splitting, and the cartesian product algorithm. The idea of polyvariance is to analyze functions more than once and thereby obtain better precision for each call site. In this paper we present an equivalen ..."
Abstract

Cited by 41 (7 self)
 Add to MetaCart
Many polyvariant program analyses have been studied in the 1990s, including kCFA, polymorphic splitting, and the cartesian product algorithm. The idea of polyvariance is to analyze functions more than once and thereby obtain better precision for each call site. In this paper we present an equivalence theorem which relates a coinductively defined family of polyvariant ow analyses and a standard type system. The proof embodies a way of understanding polyvariant flow information in terms of union and intersection types, and, conversely, a way of understanding union and intersection types in terms of polyvariant flow information. We use the theorem as basis for a new flowtype system in the spirit of the CIL calculus of Wells, Dimock, Muller, and Turbak, in which types are annotated with flow information. A flowtype system is useful as an interface between a owanalysis algorithm and a program optimizer. Derived systematically via our equivalence theorem, our flowtype system should be a g...
Intersection Types and Bounded Polymorphism
, 1996
"... this paper (Compagnoni, Intersection Types and Bounded Polymorphism 3 1994; Compagnoni, 1995) has been used in a typetheoretic model of objectoriented multiple inheritance (Compagnoni & Pierce, 1996). Related calculi combining restricted forms of intersection types with higherorder polymorphism ..."
Abstract

Cited by 37 (0 self)
 Add to MetaCart
this paper (Compagnoni, Intersection Types and Bounded Polymorphism 3 1994; Compagnoni, 1995) has been used in a typetheoretic model of objectoriented multiple inheritance (Compagnoni & Pierce, 1996). Related calculi combining restricted forms of intersection types with higherorder polymorphism and dependent types have been studied by Pfenning (Pfenning, 1993). Following a more detailed discussion of the pure systems of intersections and bounded quantification (Section 2), we describe, in Section 3, a typed calculus called F ("Fmeet ") integrating the features of both. Section 4 gives some examples illustrating this system's expressive power. Section 5 presents the main results of the paper: a prooftheoretic analysis of F 's subtyping and typechecking relations leading to algorithms for checking subtyping and for synthesizing minimal types for terms. Section 6 discusses semantic aspects of the calculus, obtaining a simple soundness proof for the typing rules by interpreting types as partial equivalence relations; however, another prooftheoretic result, the nonexistence of least upper bounds for arbitrary pairs of types, implies that typed models may be more difficult to construct. Section 7 offers concluding remarks. 2. Background
A Typed Interrupt Calculus
 In FTRTFT: Formal Techniques in RealTime and Faulttolerant Systems, LNCS 2469
, 2002
"... Most realtime systems require responsive interrupt handling. ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
Most realtime systems require responsive interrupt handling.
The LambdaCalculus with Multiplicities
, 1993
"... We introduce a refinement of the λcalculus, where the argument of a function is a bag of resources, that is a multiset of terms, whose multiplicities indicate how many copies of them are available. We show that this "λcalculus with multiplicities" has a natural functionality theory, similar to Cop ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
We introduce a refinement of the λcalculus, where the argument of a function is a bag of resources, that is a multiset of terms, whose multiplicities indicate how many copies of them are available. We show that this "λcalculus with multiplicities" has a natural functionality theory, similar to Coppo and Dezani's intersection type discipline. In our functionality theory the conjunction is managed in a "multiplicative" manner, according to Girard's terminology. We show that this provides an adequate interpretation of the calculus, by establishing that a term is convergent if and only if it has a nontrivial functional character.
ModelChecking HigherOrder Functions
, 2009
"... We propose a novel typebased model checking algorithm for higherorder recursion schemes. As shown by Kobayashi, verification problems of higherorder functional programs can easily be translated into model checking problems of recursion schemes. Thus, the model checking algorithm serves as a basis ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
We propose a novel typebased model checking algorithm for higherorder recursion schemes. As shown by Kobayashi, verification problems of higherorder functional programs can easily be translated into model checking problems of recursion schemes. Thus, the model checking algorithm serves as a basis for verification of higherorder functional programs. To our knowledge, this is the first practical algorithm for model checking recursion schemes: all the previous algorithms always suffer from the nEXPTIME bottleneck, not only in the worst case, and there was no implementation of the algorithms. We have implemented a model checker for recursion schemes based on the proposed algorithm, and applied it to verification of functional programs, including reachability, flow analysis and resource usage verification problems. According to our experiments, the model checker is surprisingly fast: it could automatically verify a number of small but tricky higherorder functional programs in less than a second.
A Decision Procedure for the Subtype Relation on Intersection Types with Bounded Variables
, 1989
"... We introduce an extension of the intersection type discipline in which types may contain variables with upper and lower bounds, present an algorithm for deciding the subtype relation in the extended system, and prove that the algorithm is correct. This work was supported in part by the Office of Nav ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
We introduce an extension of the intersection type discipline in which types may contain variables with upper and lower bounds, present an algorithm for deciding the subtype relation in the extended system, and prove that the algorithm is correct. This work was supported in part by the Office of Naval Research and the Defense Advanced Research Projects Agency (DOD) under contract number N0001484K0415. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of DARPA or the U.S. Government. 1 INTRODUCTION 1 1 Introduction The intersection type discipline [?] is a simple, yet powerful language for describing the behavior of programs. Beyond its intrinsic theoretical interest [?, ?], it appears to be an attractive foundation for the type systems of practical programming languages [?, ?]. Although the usual formulations do not allow quantification over typesthere ...