Results 11  20
of
86
Extending ML with semiexplicit higherorder polymorphism
 Information and Computation
, 1999
"... Abstract. We propose a modest conservative extension to ML that allows semiexplicit higherorder polymorphism while preserving the essential properties of ML. In our proposal, the introduction of polymorphic types remains fully explicit, that is, both the introduction and the exact polymorphic ty ..."
Abstract

Cited by 21 (8 self)
 Add to MetaCart
(Show Context)
Abstract. We propose a modest conservative extension to ML that allows semiexplicit higherorder polymorphism while preserving the essential properties of ML. In our proposal, the introduction of polymorphic types remains fully explicit, that is, both the introduction and the exact polymorphic type must be specied. However, the elimination of polymorphic types is now semiimplicit: only the elimination itself must be speci ed as the polymorphic type is inferred. This extension is particularly useful in Objective ML where polymorphism replaces subtyping.
SemiExplicit FirstClass Polymorphism for ML
 Information and Computation
, 1999
"... We propose a modest conservative extension to ML that allows semiexplicit firstclass polymorphism while preserving the essential properties of type inference. In our proposal, the introduction of polymorphic types is fully explicit, that is, both introduction points and exact polymorphic types ..."
Abstract

Cited by 21 (1 self)
 Add to MetaCart
We propose a modest conservative extension to ML that allows semiexplicit firstclass polymorphism while preserving the essential properties of type inference. In our proposal, the introduction of polymorphic types is fully explicit, that is, both introduction points and exact polymorphic types are to be specified. However, the elimination of polymorphic types is semiimplicit: only elimination points are to be specified as polymorphic types themselves are inferred. This extension is particularly useful in Objective ML where polymorphism replaces subtyping. Introduction The success of the ML language is due to its combination of several attractive features. Undoubtedly, the polymorphism of ML [Damas and Milner, 1982] or polymorphism `a la ML with the type inference it allows, is a major advantage. The ML type system stays in close correspondence with the rules of logic, following the CurryHoward isomorphism between types and formulas, which provides a simple intuition, ...
ML^F  Raising ML to the Power of System F
 In ICFP ’03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
, 2003
"... We propose a type system ML F that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, ..."
Abstract

Cited by 18 (1 self)
 Add to MetaCart
We propose a type system ML F that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, with a possibly more general type than in ML, without any need for type annotation. Only arguments of functions that are used polymorphically must be annotated, which allows to type all expressions of System F as well.
Calculi of Generalised βReduction and Explicit Substitutions: The TypeFree and Simply Typed Versions
, 1998
"... Extending the λcalculus with either explicit substitution or generalized reduction has been the subject of extensive research recently, and still has many open problems. This paper is the first investigation into the properties of a calculus combining both generalized reduction and explicit substit ..."
Abstract

Cited by 16 (8 self)
 Add to MetaCart
Extending the λcalculus with either explicit substitution or generalized reduction has been the subject of extensive research recently, and still has many open problems. This paper is the first investigation into the properties of a calculus combining both generalized reduction and explicit substitutions. We present a calculus, gs, that combines a calculus of explicit substitution, s, and a calculus with generalized reduction, g. We believe that gs is a useful extension of the  calculus, because it allows postponement of work in two different but complementary ways. Moreover, gs (and also s) satisfies properties desirable for calculi of explicit substitutions and generalized reductions. In particular, we show that gs preserves strong normalization, is a conservative extension of g, and simulates fireduction of g and the classical calculus. Furthermore, we study the simply typed versions of s and gs, and show that welltyped terms are strongly normalizing and that other properties,...
Branching Types
, 2002
"... Although systems with intersection types have many unique capabilities, there has never been a fully satisfactory explicitly typed system with intersection types. We introduce and prove the basic properties of # , a typed #calculus with branching types and types with quantification over type ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
(Show Context)
Although systems with intersection types have many unique capabilities, there has never been a fully satisfactory explicitly typed system with intersection types. We introduce and prove the basic properties of # , a typed #calculus with branching types and types with quantification over type selection parameters. The new system # an explicitly typed system with the same expressiveness as a system with intersection types. Typing derivations in # use branching types to squash together what would be separate parallel derivations in earlier systems with intersection types.
Typability and Type Checking in the SecondOrder lambdaCalculus Are Equivalent and Undecidable
, 1993
"... We consider the problems of typability and type checking in the Girard/Reynolds secondorder polymorphic typedcalculus, for which we use the short name "System F" and which we use in the "Curry style" where types are assigned to pureterms. These problems have been considere ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
We consider the problems of typability and type checking in the Girard/Reynolds secondorder polymorphic typedcalculus, for which we use the short name "System F" and which we use in the "Curry style" where types are assigned to pureterms. These problems have been considered and proven to be decidable or undecidable for various restrictions and extensions of System F and other related systems, and lowerbound complexity results for System F have been achieved, but they have remained "embarrassing open problems" 3 for System F itself. We first prove that type checking in System F is undecidable by a reduction from semiunification. We then prove typability in System F is undecidable by a reduction from type checking. Since the reverse reduction is already known, this implies the two problems are equivalent. The second reduction uses a novel method of constructingterms such that in all type derivations, specific bound variables must always be assigned a specific type. Using this technique, we can require that specif subterms must be typable using a specific, fixed type assignment in order for the entire term to be typable at all. Any desired type assignment maybe simulated. We develop this method, which we call \constants for free", for both the K and I calculi.
Raising ML to the Power of System F
 In ICFP ’03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
, 2003
"... We propose a type system MLF that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, wi ..."
Abstract

Cited by 10 (0 self)
 Add to MetaCart
We propose a type system MLF that generalizes ML with firstclass polymorphism as in System F. We perform partial type reconstruction. As in ML and in opposition to System F, each typable expression admits a principal type, which can be inferred. Furthermore, all expressions of ML are welltyped, with a possibly more general type than in ML, without any need for type annotation. Only arguments of functions that are used polymorphically must be annotated, which allows to type all expressions of System F as well.
Type Inference with Rank 1 Polymorphism for TypeDirected Compilation of ML
, 1998
"... This paper denes an extended polymorphic type system for an MLstyle programming language, and develops a sound and complete type inference algorithm. Dierent from the conventional ML type discipline, the proposed type system allows full rank 1 polymorphism, where polymorphic types can appear in oth ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
This paper denes an extended polymorphic type system for an MLstyle programming language, and develops a sound and complete type inference algorithm. Dierent from the conventional ML type discipline, the proposed type system allows full rank 1 polymorphism, where polymorphic types can appear in other types such as product types, disjoint union types and range types of function types. Because of this feature, the proposed type system signicantly reduces the valueonly restriction of polymorphism, which is currently adopted in most of MLstyle impure languages. It also serves as a basis for ecient implementation of typedirected compilation of polymorphism. The extended type system achieves more ecient type inference algorithm, and it also contributes to develop more ecient typepassing implementation of polymorphism. We show that the conventional ML polymorphism sometimes introduces exponential overhead both at compiletime elaboration and runtime typepassing execution, and that t...