Results 1 
5 of
5
Secondorder unification and type inference for Churchstyle polymorphism
 In Conference Record of POPL 98: The 25TH ACM SIGPLANSIGACT Symposium on Principles of Programming Languages
, 1998
"... We present a proof of the undecidability of type inference for the Churchstyle system F  an abstraction of polymorphism. A natural reduction from the secondorder unification problem to type inference leads to strong restriction on instances  arguments of variables cannot contain variables. T ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
(Show Context)
We present a proof of the undecidability of type inference for the Churchstyle system F  an abstraction of polymorphism. A natural reduction from the secondorder unification problem to type inference leads to strong restriction on instances  arguments of variables cannot contain variables. This requires another proof of the undecidability of the secondorder unification since known results use variables in arguments of other variables. Moreover, our proof uses elementary techniques, which is important from the methodological point of view, because Goldfarb's proof [Gol81] highly relies on the undecidability of the tenth Hilbert's problem. 1 1 Introduction The Churchstyle system F was independently introduced by Girard [Gir72] and Reynolds [Rey74] as an extension of the simplytyped calculus a type system introduced of H. B. Curry [Cur69]. As usual for type systems, the decidability of so called sequent decision problems was considered. A sequent decision problem in some ty...
Lectures on the curryhoward isomorphism
, 1998
"... The CurryHoward isomorphism states an amazing correspondence between systems of formal logic as encountered in proof theory and computational calculi as found in type theory. For instance, minimal propositional logic corresponds to simply typed λcalculus, firstorder logic corresponds to dependent ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
The CurryHoward isomorphism states an amazing correspondence between systems of formal logic as encountered in proof theory and computational calculi as found in type theory. For instance, minimal propositional logic corresponds to simply typed λcalculus, firstorder logic corresponds to dependent types, secondorder logic corresponds to polymorphic types, etc. The isomorphism has many aspects, even at the syntactic level: formulas correspond to types, proofs correspond to terms, provability corresponds to inhabitation, proof normalization corresponds to term reduction, etc. But there is much more to the isomorphism than this. For instance, it is an old idea—due to Brouwer, Kolmogorov, and Heyting, and later formalized by Kleene’s realizability interpretation—that a constructive proof of an implication is a procedure that transforms proofs of the antecedent into proofs of the succedent; the CurryHoward isomorphism gives syntactic representations of such procedures. These notes give an introduction to parts of proof theory and related
On complete completion using types and weights
, 2012
"... Developing modern software typically involves composing functionality from existing libraries. This task is difficult because libraries may expose many methods to the developer. To help developers in such scenarios, we present a technique that synthesizes and suggests valid expressions of a given ty ..."
Abstract

Cited by 5 (5 self)
 Add to MetaCart
(Show Context)
Developing modern software typically involves composing functionality from existing libraries. This task is difficult because libraries may expose many methods to the developer. To help developers in such scenarios, we present a technique that synthesizes and suggests valid expressions of a given type at a given program point. As the basis of our technique we use type inhabitation for lambda calculus terms in long normal form. We introduce a succinct representation for type judgements that merges types into equivalence classes to reduce the search space, then reconstructs any desired number of solutions on demand. Furthermore, we introduce a method to rank solutions based on weights derived from a corpus of code. We implemented the algorithm and deployed it as a plugin for the Eclipse IDE for Scala. We show that the techniques we incorporated greatly increase the effectiveness of the approach. Our evaluation benchmarks are code examples from programming practice; we make them available for future comparisons.
Interactive code generation
 Master’s thesis, EPFL
, 2013
"... This thesis presents two approaches to code generation (synthesis) along with a discussion of other related and influential works, their ideas and relations to these approaches. The common goal of these approaches is to efficiently and effectively assist developers in software development by synthes ..."
Abstract

Cited by 3 (3 self)
 Add to MetaCart
(Show Context)
This thesis presents two approaches to code generation (synthesis) along with a discussion of other related and influential works, their ideas and relations to these approaches. The common goal of these approaches is to efficiently and effectively assist developers in software development by synthesizing code for them and save their efforts. The two presented approaches differ in the nature of the synthesis problem they try to solve. They are targeted to be useful in different scenarios, apply different set of techniques and can even be complementary. The first approach to code synthesis relies on typing information of a program to define and drive the synthesis process. The main requirement imposes that synthesized solutions have the desired type. This can aid developers in many scenarios of modern software development which typically involves composing functionality from existing libraries which expose a rich API. Our observation is that the developer usually does not know the right combination for composing API calls but knows the type of the desired expression. With the basis being the wellknown type inhabitation
Polymorphic Π1 Types
"... Abstract. By polymorphic Π1 types we mean types of the polymorphic lambda calculus (systemF) in which Π only occurs positively. For such types the question of inhabitation is decidable and observational equivalence corresponds to βηequivalence and is representable by a term. Furthermore, in the PER ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. By polymorphic Π1 types we mean types of the polymorphic lambda calculus (systemF) in which Π only occurs positively. For such types the question of inhabitation is decidable and observational equivalence corresponds to βηequivalence and is representable by a term. Furthermore, in the PERmodel based on untyped λterms universality holds for all Π1 types (all elements can be typed). At the end we consider some possible generalisations of these results. 1