Results 1 -
4 of
4
The Complexity of Type Inference for Higher-Order Typed Lambda Calculi
- J. Funct. Programming
, 1991
"... We analyze the computational complexity of type inference for untyped -terms in the second-order polymorphic typed -calculus (F 2 ) invented by Girard and Reynolds, as well as higher-order extensions F 3 ; F 4 ; : : : ; F ! proposed by Girard. We prove that recognizing the F 2 - typable terms requir ..."
Abstract
-
Cited by 26 (10 self)
- Add to MetaCart
We analyze the computational complexity of type inference for untyped -terms in the second-order polymorphic typed -calculus (F 2 ) invented by Girard and Reynolds, as well as higher-order extensions F 3 ; F 4 ; : : : ; F ! proposed by Girard. We prove that recognizing the F 2 - typable terms requires exponential time, and for F ! the problem is nonelementary. We show as well a sequence of lower bounds on recognizing the F k -typable terms, where the bound for F k+1 is exponentially larger than that for F k . The lower bounds are based on generic simulation of Turing Machines, where computation is simulated at the expression and type level simultaneously. Non-accepting computations are mapped to non-normalizing reduction sequences, and hence non-typable terms. The accepting computations are mapped to typable terms, where higher-order types encode reduction sequences, and first-order types encode the entire computation as a circuit, based on a unification simulation of Boolean logic. ...
Complexity of the Higher Order Matching
- Automated Deduction. Volume 1632 of LNCS
, 2000
"... We use the standard encoding of Boolean values in simply typed lambda calculus to develop a method of translating SAT problems for various logics into higher order matching. We obtain this way already known NP-hardness bounds for the order two and three and a new result that the fourth order matchin ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We use the standard encoding of Boolean values in simply typed lambda calculus to develop a method of translating SAT problems for various logics into higher order matching. We obtain this way already known NP-hardness bounds for the order two and three and a new result that the fourth order matching is NEXPTIME-hard. 1 Introduction Consider two normalized simply typed lambda terms M and N, where N is closed (does not contain free variables). The higher order matching problem M ? = N (also known as pattern matching, 1 range problem or instantiation problem) is to decide whether there exists a substitution # for free variables in M, such that M# is ##-reducible to N. Matching is a special case of unification, where the restriction that N is closed is removed (and a solution of M ? = N is a substitution # such that M# and N# are equal modulo ##-conversion). The order of a problem M ? = N is the highest functionality order of free variables occurring in M. At the time of writin...
In Memoriam: Paris C. Kanellakis
, 1995
"... this technical obituary feel honored by the privilege they had in collaborating with Paris on many of these projects. In mourning his tragic death, we miss his technical facility, his broad knowledge, his insight, his commitment, and his humor. To write a research paper with Paris was also an opport ..."
Abstract
- Add to MetaCart
this technical obituary feel honored by the privilege they had in collaborating with Paris on many of these projects. In mourning his tragic death, we miss his technical facility, his broad knowledge, his insight, his commitment, and his humor. To write a research paper with Paris was also an opportunity to observe his indefatigable attention to detail, and to engage in vigorous debate with his editorial voice. To write this obituary allowed us to to feel his voice once more, to understand better what a good scientist he was, and to appreciate his uncommon decency and kindness. It is our great loss that we will not hear his voice again. 1 Deductive Databases
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 better-quality software. However,
TFP contains a number of lacunae in its current formulation, which hinder development of these
outcomes. Among others, formal semantics and type-systems 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 type-systems 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 language-extension 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, symbol-based 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 more-useful property, ‘inherent
interpretiveness’, is also motivated and discussed in depth. Overall, our inquiries act to give
conceptual and theoretical foundations for practical TFP.

