Results 1 
3 of
3
SYSTEMATIC SYNTHESIS OF λTERMS
"... Abstract. In this paper we show how to generate terms in the λcalculus that match a given number of function argument result pairs. It appears that the number of λterms is too large to find terms reasonably fast based on the grammar of λcalculus alone. By adding knowledge such as the desired numb ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Abstract. In this paper we show how to generate terms in the λcalculus that match a given number of function argument result pairs. It appears that the number of λterms is too large to find terms reasonably fast based on the grammar of λcalculus alone. By adding knowledge such as the desired number of arguments it is possible to synthesize λterms effectively for some interesting examples. This yields surprising terms that are unlikely to be found by a human. An interesting subproblem is the determination of suitability of candidate terms based on equivalence of terms. We used an approximation of equivalence by a finite number of reduction steps. This implies that the test for equivalence can also yield the value undefined. Fortunately the test system used is able to handle undefined test results. For Henk Barendregt on his sixtieth birthday 1.
Synthesis of Functions Using Generic Programming
"... Abstract. This paper describes a very flexible way to synthesize functions matching a given predicate. This can be used to find general recursive functions or λterms obeying an input–output behavior specified by a number of examples. Generating complex algorithms from just a small number of simple ..."
Abstract
 Add to MetaCart
Abstract. This paper describes a very flexible way to synthesize functions matching a given predicate. This can be used to find general recursive functions or λterms obeying an input–output behavior specified by a number of examples. Generating complex algorithms from just a small number of simple inputoutput pairs is the goal of inductive programming. This paper illustrates that our approach works well in some challenging examples. 1
A Metacomputation Toolkit for a Subset of F♯ and Its Application to Software Testing Towards Metacomputation for the Masses
"... Abstract. We present an ongoing experiment to develop a practical metacomputation toolkit for F#. There are – apart from the better known supercompilation – other mature and potentially useful methods stemming from metacomputation theory: program inversion and tabulation, neighborhood analysis. Alt ..."
Abstract
 Add to MetaCart
Abstract. We present an ongoing experiment to develop a practical metacomputation toolkit for F#. There are – apart from the better known supercompilation – other mature and potentially useful methods stemming from metacomputation theory: program inversion and tabulation, neighborhood analysis. Although implementations of these methods have existed since many years, they are typically experimental tools, treating specifically designed small languages. We investigate if such methods can be made more readily available for practical use, by redeveloping them for a reasonably large subset of a mainstream programming language. Practical technical challenges – together with possible solutions – are discussed. We also hint at a potential practical application – automatic generation of software test sets based on user specifications of “interesting ” input partitioning. 1