Results 1  10
of
11
On the undecidability of partial polymorphic type reconstruction
 FUNDAMENTA INFORMATICAE
, 1992
"... We prove that partial type reconstruction for the pure polymorphic *calculus is undecidable by a reduction from the secondorder unification problem, extending a previous result by H.J. Boehm. We show further that partial type reconstruction remains undecidable even in a very small predicative f ..."
Abstract

Cited by 27 (0 self)
 Add to MetaCart
(Show Context)
We prove that partial type reconstruction for the pure polymorphic *calculus is undecidable by a reduction from the secondorder unification problem, extending a previous result by H.J. Boehm. We show further that partial type reconstruction remains undecidable even in a very small predicative fragment of the polymorphic *calculus, which implies undecidability of partial type reconstruction for * ML as introduced by Harper, Mitchell, and Moggi.
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 15 (0 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.
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.
Towards a Practical Programming Language Based on the Polymorphic Lambda Calculus
, 1989
"... The value of polymorphism in programming languages has been demonstrated by languages such as ML [19]. Recent e cient implementations of ML have shown that a language with implicit polymorphism can be practical [1]. The core of ML's type system is limited, however, by the fact that only instanc ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
The value of polymorphism in programming languages has been demonstrated by languages such as ML [19]. Recent e cient implementations of ML have shown that a language with implicit polymorphism can be practical [1]. The core of ML's type system is limited, however, by the fact that only instances of polymorphic functions may be passed as arguments to other functions, but
QML: Explicit FirstClass Polymorphism for ML
"... Recent years have seen a revival of interest in extending ML’s predicative type inference system with impredicative quantification in the style of System F, for which type inference is undecidable. This paper suggests a modest extension of ML with System F types: the heart of the idea is to extend t ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Recent years have seen a revival of interest in extending ML’s predicative type inference system with impredicative quantification in the style of System F, for which type inference is undecidable. This paper suggests a modest extension of ML with System F types: the heart of the idea is to extend the language of types with unary universal and existential quantifiers. The introduction and elimination of a quantified type is never inferred but indicated explicitly by the programmer by supplying the quantified type itself. Quantified types coexist with ordinary ML schemes, which are in turn implicitly introduced and eliminated at letbindings and use sites, respectively. The resulting language, QML, does not impose any restriction on instantiating quantified variables with quantified types; neither let nor λbound variables ever require a type annotation, even if the variable’s inferred scheme or type involves quantified types. This proposal, albeit more verbose in terms of annotations than others, is simple to specify, implement, understand, and formalize.
Type and Effect Systems via Abstract Interpretation
, 1995
"... Abstract interpretation and type and effect systems are two wellknown frameworks for the static analysis of programs. While abstract interpretation uses the program controlflow to approximate its runtime behavior, type and effect systems are based on the program structural syntax. The fundamental ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Abstract interpretation and type and effect systems are two wellknown frameworks for the static analysis of programs. While abstract interpretation uses the program controlflow to approximate its runtime behavior, type and effect systems are based on the program structural syntax. The fundamental result of this paper is to show how these a priori distinct approaches can be related to each other, shedding a new light on their relative expressiveness. A single example of static analysis, namely a straightforward program time complexity estimator for the simply typed lambdacalculus with recursion, is used throughout the paper to present the core ideas. We showhowan abstract interpretation and a type and effect system can be designed for this analysis and prove them equivalent, thus paving the way toabetter understanding of the relative merits of these two frameworks.
Theoretical Foundations for Practical ‘Totally Functional Programming’
, 2007
"... Interpretation is an implicit part of today’s programming; it has great power but is overused and has
significant costs. For example, interpreters are typically significantly hard to understand and hard
to reason about. The methodology of “Totally Functional Programming” (TFP) is a reasoned
attempt ..."
Abstract
 Add to MetaCart
Interpretation is an implicit part of today’s programming; it has great power but is overused and has
significant costs. For example, interpreters are typically significantly hard to understand and hard
to reason about. The methodology of “Totally Functional Programming” (TFP) is a reasoned
attempt to redress the problem of interpretation. It incorporates an awareness of the undesirability
of interpretation with observations that definitions and a certain style of programming appear to
offer alternatives to it. Application of TFP is expected to lead to a number of significant outcomes,
theoretical as well as practical. Primary among these are novel programming languages to lessen or
eliminate the use of interpretation in programming, leading to betterquality software. However,
TFP contains a number of lacunae in its current formulation, which hinder development of these
outcomes. Among others, formal semantics and typesystems for TFP languages are yet to be
discovered, the means to reduce interpretation in programs is to be determined, and a detailed
explication is needed of interpretation, definition, and the differences between the two. Most
important of all however is the need to develop a complete understanding of the nature of
interpretation. In this work, suitable typesystems for TFP languages are identified, and guidance
given regarding the construction of appropriate formal semantics. Techniques, based around the
‘fold’ operator, are identified and developed for modifying programs so as to reduce the amount of
interpretation they contain. Interpretation as a means of languageextension is also investigated.
v
Finally, the nature of interpretation is considered. Numerous hypotheses relating to it considered in
detail. Combining the results of those analyses with discoveries from elsewhere in this work leads
to the proposal that interpretation is not, in fact, symbolbased computation, but is in fact something
more fundamental: computation that varies with input. We discuss in detail various implications of
this characterisation, including its practical application. An often moreuseful property, ‘inherent
interpretiveness’, is also motivated and discussed in depth. Overall, our inquiries act to give
conceptual and theoretical foundations for practical TFP.
TypeReconstruction wit FirstClass Polymorphic Values
"... We present the first type reconstruction system which combines the implicit typing of ML with the full power of the explicitly typed secondorder polymorphic lambda calculus. The system will accept MLstyle programs, explicitly typed programs, and programs that use explicit types for all firstclass ..."
Abstract
 Add to MetaCart
We present the first type reconstruction system which combines the implicit typing of ML with the full power of the explicitly typed secondorder polymorphic lambda calculus. The system will accept MLstyle programs, explicitly typed programs, and programs that use explicit types for all firstclass polymorphic values. We accomplish this exibility by providing both generic and explicitlyquanti ed polymorphic types, as well as operators which convert between these two forms of polymorphism. This type reconstruction system is an integral part of the FX89 programming language. We present atype reconstruction algorithm for the system. The type reconstruction algorithm is proven sound and complete with respect to the formal typing rules.