| ) Turchin V., "The Concept of a Supercompiler," ACM Transactions on Programming Languages and Systems, 8, 3, pp. 292--325, July 1986. |
....kildeprogrammet, via en sekvens af meningsbevarende trin, transformeret ind i malprogrammet; i vores begrebsramme observerer man hvordan kildeprogrammet opfrer sig, og ved hjlp af den information konstruerer man sa et malprogram. For en nrmere sammenligning af de to perspektiver se f.ex. Tur86, p. 293] iflge hvilken frstnvnte er suggested by axiomatic mathematics og sidstnvnte er a product of cybernetic thinking . En oversigt over afhandlingen . I kapitel 2 uddyber vi ovennvnte behandling af mange niveau transitionssystemer. Vi kigger pa flere velkendte teknikker for optimering ....
....(hopefully) meaning preserving steps is transformed into the target program; in our framework the behavior of the source program is observed , and by means of the information thus gained a target program is constructed. For a further discussion of the merits of the two perspectives see [Tur86, p. 293] according to which the former is suggested by axiomatic mathematics and the latter is a product of cybernetic thinking . 1.1 An overview of the thesis . In chapter 2 we elaborate on the concept of multilevel transition systems. In particular we examine several well known program ....
[Article contains additional citation context not shown here]
Valentin F. Turchin. The concept of a supercompiler. 8(3):292--325, July 1986.
....have started from naive, nondeterministic initial programs, while the corresponding derivations by partial deduction described in the literature, use initial programs which are deterministic. Our derivations also improve over the derivations performed by using supercompilation with perfect driving [15, 46] and generalized partial computation [12] which start from initial functional programs which already incorporate some ingenuity. A formal derivation of the Knuth Morris Pratt algorithm for pattern matching has also been presented in [3] This derivation follows the calculational approach which ....
.... by cases, which is a very well known technique in mechanical theorem proving (see, for instance, the Edinburgh LCF theorem prover [17] Forms of reasoning by cases have been incorporated in program specialization techniques such as the already mentioned supercompilation with perfect driving [15, 46] and generalized partial computation [12] However, the strategy presented in this paper is the rst fully automatic transformation technique which uses case reasoning to reduce nondeterminism of logic programs. Besides specializing programs and reducing nondeterminism, our strategy is able to ....
V. F. Turchin. The concept of a supercompiler. ACM TOPLAS, 8(3):292-325, 1986.
....subsidiary strategy, and (ii) the set of de nitions which are introduced for performing folding steps. In particular, for ensuring termination it may be necessary to consider suitable generalizations of the bodies of the clauses to be folded (see, for instance, the techniques presented in [5, 8, 12, 18, 20, 26]) However, the generalization technique required when applying the Determinization Strategy is more sophisticated than the ones proposed for the case of partial evaluation of (constraint) logic programs [8, 12, 20] This is due to the fact that the new de nitions which are introduced during the ....
V. F. Turchin. The concept of a supercompiler. ACM Toplas, 8(3):292-325, 1986.
....Computer Science, University of Copenhagen. One of the weaknesses [2] of such transformations is the inability to deforest programs using accumulating parameters. This is not just a deficiency of these techniques, for other program transformers su#er from the same weakness (e.g. supercompilation [22] , calculational methods [10] When composing a consumer of lists with a producer of lists, where the producer is written using an accumulating parameter, the intermediate list cannot be removed. For example, the expression rev (rev xs) cannot be fused into a single copy xs (let al..one ....
V. Turchin. The concept of a supercompiler. ACM TOPLAS, 8(3): 292--325, 1986.
....subsidiary strategy and (ii) the set of de nitions which are introduced for performing folding steps. In particular, for ensuring termination it may be necessary to consider suitable generalizations of the bodies of the clauses to be folded (see, for instance, 5] 7] 10] 15] 16] [22]) As a consequence of Theorem 1, if the Determinization Strategy terminates, then the specialized program Psp is equivalent to the initial program P in the following sense: for every constraint d, lm(P; D) j= 9(d c p(t1 ; t h ) i lm(Psp ; D) j= 9(d psp (X1 ; Xr ) ....
....We have introduced a new transformation rule, called clause splitting, which can be used for reducing the nondeterminism when specializing constrained logic programs. This rule allows us to reason by cases as often done in various specialization techniques (see, for instance, 9] 13] [22]) Clause splitting, together with the other familiar unfolding and folding rules, is applied according to the Determinization Strategy which is an enhancement of conjunctive partial deduction [5] Indeed, we allow new predicates to be de ned in terms of disjunctions of conjunctions of ....
V. F. Turchin. The concept of a supercompiler. ACM Toplas, 8(3):292-325, 1986.
....since we also present a transformation of accumulative into non accumulative programs, we obtain the equality of the classes of functions computed by the two paradigms. Well known techniques for eliminating intermediate results cannot improve p non : i) deforestation [24] and supercompilation [22, 20] su#er from the phenomenon of the obstructing function call [2] and (ii) shortcut deforestation [14, 13] is hampered by the unknown number of intermediate results. In [3] an extension of shortcut deforestation was developed which is based on type inference and splits function definitions into ....
V. F. Turchin. The concept of a supercompiler. ACM TOPLAS, 8:292--325, 1986.
....Regardless of which interpreter we use, the semantics modification we get is precisely what is intended (e.g. inverse computation) 3.4. Two Levels of Interpretation A non standard interpreter obtained from a semantics modifier is the result of two distinct metasystem transitions [51]. 0) Direct computation of N programs: out. 1) First transition from direct computation of N programs to their interpretation: intN [pgm, dat] # (2) Second transition from direct computation of N s interpretation to non standard computation of N s interpretation in M: Let intNL be an ....
....to apply them to programs written in any language via an interpretive definition. It is straightforward to define an equivalence transformer for any language N in M given a standard interpreter for N in L (Fig. 2) The experiments in Section 11 illustrate these ideas using supercompilation [51], a powerful transformation method capable of program specialization and program composition (see [45] and the projections in Section 13 show how an N#R M transformer can be obtained from an L#R M transformer and an N L interpreter. 6.2. A Program Specializer as Eqt Modifier A program ....
[Article contains additional citation context not shown here]
V. F. Turchin, "The concept of a supercompiler," Transactions on Programming Languages and Systems 8(3) (1986) 292--325.
....nondeterministic initial programs, 41 while the corresponding derivations by partial evaluation described in the literature, use initial programs which already incorporate some ingenuity. A similar remark also applies to the derivation performed by using supercompilation with perfect driving [12, 38] and generalized partial computation [9] A formal derivation of the Knuth Morris Pratt algorithm for pattern matching has also been presented in [2] This derivation follows the calculational approach which consists in applying equivalences of higher order functions. On the one hand the ....
.... by cases, which is a very well known technique in mechanical theorem proving (see, for instance, the Edinburgh LCF theorem prover [14] Forms of reasoning by cases have been incorporated in program specialization techniques such as the already mentioned supercompilation with perfect driving [12, 38] and generalized partial computation [9] However, the strategy presented in this paper is the rst fully automatic transformation technique which uses case reasoning to reduce nondeterminism of logic programs. Besides specializing programs and reducing nondeterminism, our strategy is able to ....
V. F. Turchin. The concept of a supercompiler. ACM TOPLAS, 8(3):292-325, 1986.
....for other program transformers su er from the same Research fellow of the Japan Society for the Promotion of Science y PRESTO, Japan Science and Technology Corporation (JST) on leave from DIKU, Dept. of Computer Science, University of Copenhagen 10 weakness (e.g. supercompilation [18], calculational methods [10] For example, the expression rev (rev xs) cannot be fused into a single copy xs (let al..one identity) when rev is the fast version of list reversal. When composing a consumer of lists with a producer of lists, where the producer is written using an accumulating ....
V. Turchin. The concept of a supercompiler. ACM TOPLAS, 8(3): 292-325, 1986.
....to have transformation techniques, which enable us to optimize functions written in the modular style, by eliminating intermediate data structures. Several such techniques have been studied in the literature, e.g. the fold unfold technique from [BD77] its algorithmic instances supercompilation [Tur86] and deforestation [Wad90] catamorphism fusion [Mal89, MFP91] and shortcut deforestation [GLP93] In this thesis, we follow an approach for eliminating intermediate results, which is based on the theory of tree transducers. Particularly, we consider Macro Tree Transducers [Eng80] which can ....
V.F. Turchin. The concept of a supercompiler. ACM Trans. on Prog. Lang. and Systems, 8:292-325, 1986.
....and provides binding time annotations which encode the control decisions to be made by the specialiser, so that the specialiser becomes much more simple and efficient. Partial evaluation of functional programs [8, 15] has mainly stressed off line approaches, while supercompilation of functional [32, 31] and partial deduction of logic programs [13, 3, 1, 30, 25, 20] have concentrated on on line control. On line methods, usually obtain better specialisation, because no control decisions have to be taken beforehand, i.e. at a point where the full specialisation 1 Formally, an SLDNF tree is ....
V. F. Turchin. The Concept of a Supercompiler. ACM Trans. Prog. Lang. Syst., 8(3):292--325, July 1986.
....B and a singlethreaded store S. Furthermore there is the outcome status O, which can be failed or completed. Y [T;B;S] datum(D) D 6=nothing give(Y;N) T;B;S] completed; N7 datum(D) S] Y [T;B;S] datum(D) not(D 6=nothing) give(Y;N) T;B;S] failed; S] 2 Positive supercompilation [12, 11] is a program specialization technique developed in the functional community. Its adaption to Prolog is not much different from partial evaluation of Prolog [5] Pass Separation . C C L1 Ln 2BIG DCAMG L1 2BIG AN 2BIG Ln 2BIG . AM L1 C L1 AM AN C AN AM Ln C ....
V.F. Turchin. The Concept of a Supercompiler. ACM TOPLAS, 8(3), 1986.
....for a particular usage. A lot of attention has been paid to specialisation of functional programs, where on line as well as o# line approaches have been followed. Research in the on line field include Fuse (Weise, Conybeare, Ruf, and Seligman 1991) and Turchin s original work on supercompilation (Turchin 1986), later on revisited by Srensen and others (Srensen 1994; Srensen and Gluck 1995; Srensen, Gluck, and Jones 1996) However, in the functional setting most work focuses on binding time analysis and o# line specialisation, originally motivated to achieve better self application (Futamura 1971; ....
.... setting, one can partially evaluate only those expressions that depend solely on static input, whereas in a logic programming setting, one can often reduce expressions that do depend on some dynamic input (Leuschel and Bruynooghe 2001) which relates the technique more to supercompilation (Turchin 1986; Srensen and Gluck 1995; Srensen, Gluck, and Jones 1996; Gluck and Srensen 1996; Srensen, Gluck, and Jones 1994) in functional languages and unfold fold transformation techniques (Burstall and Darlington 1977; Pettorossi and Proietti 1994) In the context of this thesis, we consider only pure ....
Turchin, V. F. (1986). The concept of a supercompiler. ACM Transactions on Programming Languages and Systems 8 (3), 292--325.
.... it would be interesting to integrate other techniques for the elimination of intermediate results into such a comparison, e.g. shortcut deforestation [GLP93, Gil96] program calculation techniques based on recursion operators [Mal89, MFP91, SF93, BdM96, HIT96, J ur00] and supercompilation [Tur86, SGJ96, SS99]. The theory provides other classes of tree transducers that might be employed for the elimination of intermediate results. For example, modular tree transducers [EV91] are used in [KGK01] to transform non accumulative functional programs into accumulative ones. It could be fruitful to consider ....
V.F. Turchin. The concept of a supercompiler. ACM Trans. on Prog. Lang. and Systems, 8:292-325, 1986.
....program transformation techniques, which enable us to optimize functions written in the modular style, by eliminating intermediate data structures. Several such techniques have been studied in the literature, e.g. the fold unfold technique from [BD77] its algorithmic instances supercompilation [Tur86, SGJ96, SS99] and deforestation [Wad90, Chi94] catamorphism fusion [Mal89, MFP91] and shortcut deforestation [GLP93, Gil96] In this paper we follow an approach for eliminating intermediate results, which is based on the theory of tree transducers [FV98] Particularly, we consider macro tree ....
V.F. Turchin. The concept of a supercompiler. ACM Trans. on Prog. Lang. and Systems, 8:292-325, 1986.
....else F ibonacci(1000) 2: To facilitate these transformations, we inline all function calls where the function is not de ned recursively. The power of these transformations depends on reasonings used in simplifying the conditionals, as have been studied in many program transformation methods [51, 45, 47, 18, 32]. At least syntactic equality can be used, which identi es the most obvious source of inaccuracy. These optimizations also speed up the symbolic evaluation, since now obviously infeasible execution paths are not searched. 15 These transformations have been implemented and applied on many test ....
V. F. Turchin. The concept of a supercompiler. ACM Trans. Program. Lang. Syst., 8(3):292-325, July 1986.
....in [122] for indicating a strategy which derives a new predicate de nition when a goal is recurrently generated during program transformation. This strategy is present in various forms in a number of di erent transformation techniques, such as the above mentioned tupling, supercompilation [147], compiling control [25] as well as various techniques for partial evaluation (see Section 3.3) Finally, the generalization strategy has its origin in the theorem proving area [18] where it is used to generate a new generalized conjecture allowing the application of an inductive hypothesis. ....
....of the SLD trees, nor can introduce disequalities. Thus, our de nition and folding rules which allow us to specialize programs w.r.t. disjunctions of conjunctions of goals, generalize conjunctive partial deduction. Supercompilation Supercompilation is a technique introduced and studied in [79, 147] for the semiautomatic improvement of programs by taking into consideration the various computation paths. However, those paths are considered in isolation and no relationship among them is exploited. Since our de nition and folding rules allow us to factorize common computations in di erent ....
V. F. Turchin. The concept of a supercompiler. ACM TOPLAS, 8(3):292325, 1986.
....whose de nition we refer to [20] In order to discover redundant computations of this kind, we may symbolically generate and examine the set of the SLD derivations starting from a given goal. Symbolic evaluation is a standard analysis technique used in various program transformation methods [6, 8, 30]. In particular, by constructing a nite upper portion of the SLD tree starting from the goal of interest, we may nd equal subgoals which have to be evaluated along distinct branches of that SLD tree, and thus, they produce redundant computations. The description of general analysis techniques ....
V. F. Turchin. The concept of a supercompiler. ACM TOPLAS, 8(3):292-325, 1986.
....by programs as metacomputation, a term that underlines the fact that this activity is one level higher than ordinary computation. Equivalence transformation of programs is the main possibility for metacomputation; in this paper we use program composition and program specialization (see e.g. [9,12,7,2]) We will not fix a particular method for metacomputation, but specify these two transformation tasks equationally. Definition 3 (Program composition) An M program Cpo is an AB composer if for every A program P, Q D, every input X D and x M, Cpo M = R such that R X B = P Q ....
Turchin V. F., The concept of a supercompiler. ACM TOPLAS, 8(3): 292-325, 1986.
....component, but never appear in the result of the whole program. The compositional style of programming has many advantages of clarity and higher level of modularity, but these intermediate data structures give rise to an efficiency problem. Inspired by Turchin s early work on the supercompiler [TNT82, Tur86], Wadler [Wad88] introduced the idea of deforestation to tackle this problem. His algorithm for deforestation eliminates arbitrary tree like intermediate data structures (including lists) when applied to treeless programs. There have been various attempts to extend his method ( Chi92, Sr94] but ....
V.F. Turchin. The concept of a supercompiler. ACM TOPLAS, 8(3):292--325, July 1986.
.... very successfully does specialization [Jones et al. 1993] deforestation [Wadler 1990] and fusion [Fegaras et al. 1994] optimize composition of particular forms of recursive functions, slicing [Weiser 1984] produces a program returning a subset of the original output, and supercompilation [Turchin 1986] addresses all of these problems. Program generation and degeneration can be seen as test cases for existing methods and may allow for several novel applications of specialization and composition [Gluck and Klimov 1995; Gluck and Klimov 1997b] 4 Delta Andrei V. Klimov Nevertheless, the main ....
Turchin, V. F. 1986. The concept of a supercompiler. Transactions on Programming Languages and Systems 8, 3, 292--325.
....we define an auxiliary function (i.e. a new node in GPC tree) for residual programs, it is better for folding to extend the domain of the function as much as possible. Generalization in program transformation was first dicussed by Burstall and Darlington [3] and in partial evaluation by Turchin [30]. However, the extension of the domain is opposite to the specialization of programs. Therefore, we have to do both specialization and generalization in at the same time (or nondeterministically) to produce optimal residual programs. In our current implementation, the domain of a new function ....
Turchin, V.F.: The concept of a supercompiler. ACM TOPLAS 8 (3) (1986) 292-- 325.
No context found.
) Turchin V., "The Concept of a Supercompiler," ACM Transactions on Programming Languages and Systems, 8, 3, pp. 292--325, July 1986.
No context found.
V. F. Turchin. The concept of a supercompiler. ACM TOPLAS, 8:292-325, 1986.
No context found.
) Turchin, V. F., "The Concept of a Supercompiler," ACM TOPLAS, 8, 3, pp. 292-
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC