Results 1 
4 of
4
A program specialization relation based on supercompilation and its properties
 FIRST INTERNATIONAL WORKSHOP ON METACOMPUTATION IN RUSSIA (META 2008)
, 2008
"... An inputoutput relation for a wide class of program specializers for a simple functional language in the form of Natural Semantics inference rules is presented. It covers polygenetic specialization, which includes deforestation and supercompilation, and generalizes the author’s previous paper on sp ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
An inputoutput relation for a wide class of program specializers for a simple functional language in the form of Natural Semantics inference rules is presented. It covers polygenetic specialization, which includes deforestation and supercompilation, and generalizes the author’s previous paper on specification of monogenetic specialization like partial evaluation and restricted supercompilation. The specialization relation expresses the idea of what is to be a specialized program, avoiding as much as possible the details of how a specializer builds it. The relation specification follows the principles of Turchin’s supercompilation and captures its main notions: configuration, driving, generalization of a configuration, splitting a configuration, as well as collapsedjungle driving. It is virtually a formal definition of supercompilation abstracting away the most sophisticated parts of supercompilers— strategies of configuration analysis. Main properties of the program specialization relation—idempotency, transitivity, soundness, completeness, correctness—are formulated and discussed.
From Type Inference to Configuration
 IN THE ESSENCE OF COMPUTATION: COMPLEXITY, ANALYSIS, TRANSFORMATION. ESSAYS DEDICATED 12
, 2002
"... A product line is a set of products and features with constraints on which subsets are available. Numerous configurators have been made available by product line vendors on the internet, in which procurers can experiment with the different options, e.g. how the selection of one product or feature en ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
A product line is a set of products and features with constraints on which subsets are available. Numerous configurators have been made available by product line vendors on the internet, in which procurers can experiment with the different options, e.g. how the selection of one product or feature entails or precludes the selection of another product or feature. We explore an approach to configuration inspired by type inference technology. The main contributions of the paper are a formalization of the configuration problemtha t includes aspects related to the interactive dialogue between the user and the system, a result stating that the configuration problem thus formalized has at least exponential complexity, and some techniques for computing approximate solutions more efficiently. While a substantial number of papers precede the present one in formalizing configuration as a constraint satisfaction problem, few address the aspects concerning interactivity between the user and the system.
Faster answers and improved termination in inverse computation of nonflat languages
 PROGRAM SYSTEMS INSTITUT, RUSSIAN ACADEMY OF SCIENCES, PERESLAVLZALESSKY
, 2002
"... The Universal Resolving Algorithm [3] was formulated for inverse computation of tailrecursive programs. We present an extension of the algorithm to deal with nonflat programming languages. This extension improves the efficiency and termination behavior of inverse computation because partially prod ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The Universal Resolving Algorithm [3] was formulated for inverse computation of tailrecursive programs. We present an extension of the algorithm to deal with nonflat programming languages. This extension improves the efficiency and termination behavior of inverse computation because partially produced output is used to reduce the search space. We explain the extension and present a new technique which we designed and implemented for a firstorder functional programming language. Several examples demonstrate the advantages of the new technique (including decompilation of bytecode programs). We expect that similar methods can be used when performing inverse computation in other programming languages.
XSG: Fair Language with Builtin Equality
 FIRST INTERNATIONAL WORKSHOP ON METACOMPUTATION IN RUSSIA (META 2008)
, 2008
"... We describe the XSG programming language and define a formal semantics for it.
XSG is a functionallogic untyped firstorder language. Like a functional language it has functions which return results (not predicates only as classic logic languages). And like a logic language it allows implicit defi ..."
Abstract
 Add to MetaCart
We describe the XSG programming language and define a formal semantics for it.
XSG is a functionallogic untyped firstorder language. Like a functional language it has functions which return results (not predicates only as classic logic languages). And like a logic language it allows implicit definition of variables’ values. XSG is developed as a model language for metacomputations. It is a successor of the TSG and NTSG languages used by S. M. Abramov and R. Glück for formal description of basic metacomputation tools such as driving, PPT and URA [1,2,3,4,5,6,7]. In XSG the concept of pattern matching is generalized by introducing equations. Both free and bound variables in equations can go both at the left and at the right sides. Also a variable can occur in an equation several times. Thus there is a notion of equality inherent in the language.
Every variable in XSG is a logic variable: it designates a set of possible values. The equations are global constraints on the variables. Thus there is an embedded nondeterminism in the language as the program result is an unordered set of possible answers.