Results 1 
5 of
5
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
(Show Context)
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.
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
(Show Context)
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
Inductive Programming – Exampledriven construction of functional programs
"... We developed an efficient, analytical approach for learning recursive functional programs from examples. Igor2 is a realization of this approach as constructor term rewriting system. We can show that our approach compares very well to other systems of inductive programming and we will discuss applic ..."
Abstract
 Add to MetaCart
(Show Context)
We developed an efficient, analytical approach for learning recursive functional programs from examples. Igor2 is a realization of this approach as constructor term rewriting system. We can show that our approach compares very well to other systems of inductive programming and we will discuss applications in the domains of cognitive modelling, enduser programming and automated software engineering. 1
Institute for Computing and Information Sciences,
"... 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
 Add to MetaCart
(Show Context)
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
(Show Context)
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