Results 1 - 10
of
38
Typed Concurrent Objects
- ECOOP'94, LNCS
, 1994
"... Based on a name-passing calculus and on its typing system the paper shows how to build several language constructors towards a strongly-typed objectoriented concurrent programming language. The basic calculus incorporates the notions of asynchronous labelled messages, concurrent objects composed of ..."
Abstract
-
Cited by 70 (10 self)
- Add to MetaCart
Based on a name-passing calculus and on its typing system the paper shows how to build several language constructors towards a strongly-typed objectoriented concurrent programming language. The basic calculus incorporates the notions of asynchronous labelled messages, concurrent objects composed of labelled methods, and a form of abstraction on processes allowing in particular to declare polymorphic classes. We introduce a notion of values as name-expressions, and show how to create subclasses of existing classes. A systematic translation of the derived constructors into the basic calculus provides for semantics and for typing rules for the new constructors. Introduction Concurrent objects constitute a convenient tool to describe concurrent and distributed computations. Types enforce a discipline in the usage of the programming language constructors that not only provides for partial-correctness, but also helps in writing clear programs. Furthermore, a type for a program often gives s...
Programming with Intersection Types and Bounded Polymorphism
, 1991
"... representing the official policies, either expressed or implied, of the U.S. Government. ..."
Abstract
-
Cited by 64 (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 49 (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 second-order 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.
Decidability of Higher-Order Subtyping with Intersection Types
- University of Edinburgh, LFCS
, 1994
"... The combination of higher-order subtyping with intersection types yields a typed model of object-oriented programming with multiple inheritance [11]. The target calculus, F ! , a natural generalization of Girard's system F ! with intersection types and bounded polymorphism, is of independent i ..."
Abstract
-
Cited by 40 (11 self)
- Add to MetaCart
The combination of higher-order subtyping with intersection types yields a typed model of object-oriented programming with multiple inheritance [11]. The target calculus, F ! , a natural generalization of Girard's system F ! with intersection types and bounded polymorphism, is of independent interest, and is our subject of study. Our main contribution is the proof that subtyping in F ! is decidable. This yields as a corollary the decidability of subtyping in F ! , its intersection free fragment, because the F ! subtyping system is a conservative extension of that of F ! . The calculus presented in [8] has no reductions on types. In the F ! subtyping system the presence of fi-conversion -- an extension of fi-conversion with distributivity laws -- drastically increases the complexity of proving the decidability of the subtyping relation. Our proof consists of, firstly, defining an algorithmic presentation of the subtyping system of F ! , secondly, proving that th...
Set-Theoretical and Other Elementary Models of the lambda-calculus
- Theoretical Computer Science
, 1993
"... Part 1 of this paper is the previously unpublished 1972 memorandum [43], with editorial changes and some minor corrections. Part 2 presents what happened next, together with some further development of the material. The first part begins with an elementary set-theoretical model of the fi-calculus. F ..."
Abstract
-
Cited by 36 (0 self)
- Add to MetaCart
Part 1 of this paper is the previously unpublished 1972 memorandum [43], with editorial changes and some minor corrections. Part 2 presents what happened next, together with some further development of the material. The first part begins with an elementary set-theoretical model of the fi-calculus. Functions are modeled in a similar way to that normally employed in set theory, by their graphs; difficulties are caused in this enterprise by the axiom of foundation. Next, based on that model, a model of the fij-calculus is constructed by means of a natural deduction method. Finally, a theorem is proved giving some general properties of those non-trivial models of the fij-calculus which are continuous complete lattices. The second part begins with a brief discussion of models of the -calculus in set theories with anti-foundation axioms. Next the model of the fi- calculus of Part 1 and also the closely related---but different!---models of Scott [53, 54] and of Engeler [21, 22] are reviewed....
Intersection Types and Bounded Polymorphism
, 1996
"... this paper (Compagnoni, Intersection Types and Bounded Polymorphism 3 1994; Compagnoni, 1995) has been used in a type-theoretic model of object-oriented multiple inheritance (Compagnoni & Pierce, 1996). Related calculi combining restricted forms of intersection types with higher-order polymorphism ..."
Abstract
-
Cited by 33 (0 self)
- Add to MetaCart
this paper (Compagnoni, Intersection Types and Bounded Polymorphism 3 1994; Compagnoni, 1995) has been used in a type-theoretic model of object-oriented multiple inheritance (Compagnoni & Pierce, 1996). Related calculi combining restricted forms of intersection types with higher-order 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 proof-theoretic 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
Higher-Order Intersection Types and Multiple Inheritance
, 1995
"... this paper was completed, the metatheory of this system has been studied in much greater detail by Compagnoni [ Compagnoni, 1994, Compagnoni, 1995 ] . A type system combining intersection types with a powerful form of polymorphism is of independent interest. Reynolds [ 1988 ] has argued that interse ..."
Abstract
-
Cited by 14 (6 self)
- Add to MetaCart
this paper was completed, the metatheory of this system has been studied in much greater detail by Compagnoni [ Compagnoni, 1994, Compagnoni, 1995 ] . A type system combining intersection types with a powerful form of polymorphism is of independent interest. Reynolds [ 1988 ] has argued that intersection types can form the basis of elegant language designs. But his Forsythe language has only a first-order type system, and thus lacks some of the expressive possibilities of polymorphic languages like ML. Our work represents a step toward a synthesis of these styles of language design. The following section shows some examples of multiple inheritance using a simple highlevel syntax. Section 3, the core of the paper, defines the -calculus F
Beta-Reduction As Unification
, 1996
"... this report, we use a lean version of the usual system of intersection types, whichwe call . Hence, UP is also an appropriate unification problem to characterize typability of -terms in . Quite apart from the new light it sheds on fi-reduction, such an analysis turns out to have several othe ..."
Abstract
-
Cited by 13 (9 self)
- Add to MetaCart
this report, we use a lean version of the usual system of intersection types, whichwe call . Hence, UP is also an appropriate unification problem to characterize typability of -terms in . Quite apart from the new light it sheds on fi-reduction, such an analysis turns out to have several other benefits
Intersection types for explicit substitutions
, 2003
"... We present a new system of intersection types for a composition-free calculus of explicit substitutions with a rule for garbage collection, and show that it characterizes those terms which are strongly normalizing. This system extends previous work on the natural generalization of the classical inte ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
We present a new system of intersection types for a composition-free calculus of explicit substitutions with a rule for garbage collection, and show that it characterizes those terms which are strongly normalizing. This system extends previous work on the natural generalization of the classical intersection types system, which characterized head normalization and weak normalization, but was not complete for strong normalization. An important role is played by the notion of available variable in a term, which is a generalization of the classical notion of free variable.

