| P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000. |
....implemented in Stratego and a pretty printer for Tiger built with GPP. Warm fusion of functional programs An implementation of a transformation system for a subset of HASKELL incorporating the warm fusion algorithm was undertaken as a case study in program transformation with rewriting strategies [75]. The warm fusion algorithm rephrases explicitly recursive functions as functions defined using catamorphisms to enable elimination of intermediate data structures (deforestation) of lazy functional programs. By inlining functions rephrased in this manner, compositions of functions can be fused. ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000.
No context found.
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000.
No context found.
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000.
No context found.
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000.
....of C programs [2] that is developed for domain speci c 3 optimization of C programs for numerical applications. HSX is a framework for the transformation of core Haskell programs that has been developed for the implementation of the warm fusion algorithm for deforesting functional programs [5]. The Tiger compiler translates Tiger programs [1] to MIPS assembly code [6] The compiler includes translation to intermediate representation, canonicalization of intermediate representation, instruction selection, and register allocation. Optimizations can be plugged in at various stages. ....
Patricia Johann and Eelco Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Arti cial Intelligence, 2000. (To appear).
....mitigate the tension between modularity and eciency by automatically deriving intermingled ecient versions of programs from their abstract composite versions. For example, in deforestation of functional programs, intermediate data structures are eliminated by fusing together function compositions [6,11,17]. Fusion also enables transformation from an algebraic style of programming resembling mathematical speci cation of numeric programs to an updating style in which function arguments are overwritten in order to reuse memory allocated to large matrices [2,4] Stratego [15,16] is a domain speci c ....
....new variables are handled, but the terms bound to the newly introduced variables are renormalized. Based on an analysis of the conditions this could be avoided under some circumstances. Strategies have also been used to optimize programs which are not themselves de ned in terms of strategies. In [6], for example, they are used to eliminate intermediate data structures from functional programs. In [16] strategies are used to build optimizers for an intermediate format for ML like programs. In both cases, strategies are used as they are here in conjunction with small local transformations ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Arti cial Intelligence, 29(1-4):1-34, 2000.
.... fixpoint by failure vs. fixpoint by equality test, effectfull traversal (accumulation, binding, etc. type specific vs. generic problem specific ingredients. We have experienced these variation points in actual applications of strategic programming such as those reported in [40,36,15,1,17,27,9,41,6,21]. In addition to general purpose traversal schemes, there is ample opportunity for domain specific schemes, e.g. name analyses for language processing [36,21] There is no other generic programming idiom which would have addressed these variation points. A strategic example We refactor the ....
....XML schemas Documents Sources components Other ATerms Unparsing Conversion StrategyLib XmlLib Themes Parsing ATermLib Fig. 7. The sketch of a strategic programming environment Applications Strategic programming has been applied to a range of applications such as those discussed in [40,36,15,1,17,27,9,41,6,21]. We will briefly explain a few typical applications: In [1] a transformation system CodeBoost for domain specific optimisation of C programs in the domain of numeric programming is described. It was implemented in Stratego making use of the XT bundle [17] of tools for program ....
[Article contains additional citation context not shown here]
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000.
....of C programs [2] that is developed for domain specific optimization of C programs for numerical applications. HSX is a framework for the transformation of core Haskell programs that has been developed for the implementation of the warm fusion algorithm for deforesting functional programs [8]. The Tiger compiler translates Tiger programs [1] to MIPS assembly code [12] The compiler includes translation to intermediate representation, canonicalization of intermediate representation, instruction selection, and register allocation. 6 Related Work The creation of Stratego was motivated ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence. (To appear).
....the tension between modularity and e#ciency by automatically deriving intermingled e#cient versions of programs from their abstract composite versions. For example, in deforestation of functional programs, intermediate data structures are eliminated by fusing together function compositions [6,11,17]. Fusion also enables transformation from an algebraic style of programming resembling mathematical specification of numeric programs to an updating style in which function arguments are overwritten in order to reuse memory allocated to large matrices [2,4] Stratego [15,16] is a domain specific ....
....new variables are handled, but the terms bound to the newly introduced variables are renormalized. Based on an analysis of the conditions this could be avoided under some circumstances. Strategies have also been used to optimize programs which are not themselves defined in terms of strategies. In [6], for example, they are used to eliminate intermediate data structures from functional programs. In [16] strategies are used to build optimizers for an intermediate format for ML like programs. In both cases, strategies are used as they are here in conjunction with small local ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000.
....by generating appropriate rules for function calls from their function declarations. The warm fusion algorithm for deforestation [11] uses dynamically generated rewrite rules for the derivation of catamorphisms from recursive function definitions. The implementation of warm fusion in Stratego [9] can be simplified using dynamic rules. Dynamic rules can also be used for memoization. The use def analysis mentioned above uses a memoization scheme to incrementally recompute the analyses for an expression. Another application area is the run time configuration of transformation components. ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000. . 21
.... system renovation [12] ii) a documentation generator for a proprietary dialect of the specification and description language SDL in collaboration with Lucent Technologies [4] and (iii) an implementation of a transformation system for a subset of the Haskell functional programming language [8]. Related Work Many open source projects involve some level of collaborative development. Examples are the Apache [1] and Mozilla [11] projects, the development of the GNU tools [6] and the Linux kernel. The distribution infrastructures employed by these projects are insu#cient for collaboration ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000.
....in Stratego and a pretty printer for Tiger built with GPP. Warm fusion of functional programs An implementation of a transformation system for a subset of HASKELL incorporating the warm fusion algorithm was undertaken as a case study in program transformation with rewriting strategies [10]. The transformation system consists of a parser, a normalization phase to eliminate syntactic sugar, a typechecker, the warm fusion transformation itself and a pretty printer. The warm fusion algorithm rephrases explicitly recursive functions as functions defined using catamorphisms to enable ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence. (To appear).
....the latter work the higher orderness and the strong typing in the functional incarnation proved to be essential. ControlCruiser [16] a program understanding tool that reconstructs and visualizes COBOL control ow. The JJForester JJTraveler architecture has been used for the implementation. HSX [31]: an implementation in Stratego of the warm fusion algorithm for deforestation of lazy functional programs. CodeBoost [5] a transformation system implemented in Stratego for domain speci c optimization of C programs in the domain of numeric programming. CobolX [69] an environment based on XT ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Articial Intelligence, 29(1-4):1-34, 2000. 54
....by generating appropriate rules for function calls from their function declarations. The warm fusion algorithm for deforestation [11] uses dynamically generated rewrite rules for the derivation of catamorphisms from recursive function de nitions. The implementation of warm fusion in Stratego [9] can be simpli ed using dynamic rules. Dynamic rules can also be used for memoization. The use def analysis mentioned above uses a memoization scheme to incrementally recompute the analyses for an expression. Another application area is the run time con guration of transformation components. ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Articial Intelligence, 29(1-4):1-34, 2000. . 21 Visser
.... system renovation [12] ii) a documentation generator for a proprietary dialect of the specification and description language SDL in collaboration with Lucent Technologies [4] and (iii) an implementation of a transformation system for a subset of the Haskell functional programming language [8]. Related Work Many open source projects involve some level of collaborative development. Examples are the Apache [1] and Mozilla [11] projects, the development of the GNU tools [6] and the Linux kernel. The distribution infrastructures employed by these projects are insufficient for ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence, 29(1--4):1--34, 2000.
....in Stratego and a pretty printer for Tiger built with GPP. Warm fusion of functional programs An implementation of a transformation system for a subset of HASKELL incorporating the warm fusion algorithm was undertaken as a case study in program transformation with rewriting strategies [10]. The transformation system consists of a parser, a normalization phase to eliminate syntactic sugar, a typechecker, the warm fusion transformation itself and a pretty printer. The warm fusion algorithm rephrases explicitly recursive functions as functions defined using catamorphisms to enable ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence. (To appear).
....Fusion techniques mitigate the tension between modularity and eciency by automatically deriving intermingled ecient versions of programs from their abstract composite versions. For example, in deforestation of functional programs, intermediate data structures are eliminated by fusing functions [7, 10, 17]. Fusion also enables transformation from an algebraic style of programming resembling mathematical speci cation of numeric programs to an updating style in which To appear in: B. Gramlich and S. Lucas Alba (editors) Proceedings of the Workshop on Reduction Strategies in Programming and Rewriting ....
....new variables are handled, but the terms bound to the newly introduced variables are renormalized. Based on an analysis of the conditions this could be avoided under some circumstances. Strategies have also been used to optimize programs which are not themselves de ned in terms of strategies. In [7], for example, they are used to eliminate intermediate data structures from functional programs. In [16] strategies are used to build optimizers for an intermediate format for ML like programs. In both cases, strategies are used as they are here in conjunction with small local transformations ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Articial Intelligence, 29(1-4):1-34, 2000.
....of C programs [2] that is developed for domain speci c optimization of C programs for numerical applications. HSX is a framework for the transformation of core Haskell programs that has been developed for the implementation of the warm fusion algorithm for deforesting functional programs [8]. The Tiger compiler translates Tiger programs [1] to MIPS assembly code [12] The compiler includes translation to intermediate representation, canonicalization of intermediate representation, instruction selection, and register allocation. 6 Related Work The creation of Stratego was motivated ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Articial Intelligence. (To appear).
....implemented in Stratego and a pretty printer for Tiger built with GPP. Warm fusion of functional programs An implementation of a transformation system for a subset of HASKELL incorporating the warm fusion algorithm was undertaken as a case study in program transformation with rewriting strategies [10]. The transformation system consists of a parser, a normalization phase to eliminate syntactic sugar, a typechecker, the warm fusion transformation itself and a pretty printer. The warm fusion algorithm rephrases explicitly recursive functions as functions defined using catamorphisms to enable ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence. (To appear).
....implemented in Stratego and a pretty printer for Tiger built with GPP. Warm fusion of functional programs An implementation of a transformation system for a subset of Haskell incorporating the warm fusion algorithm was undertaken as a case study in program transformation with rewriting strategies [9]. The transformation system consists of a parser, a normalization phase to eliminate syntactic sugar, a typechecker, the warm fusion transformation itself and a pretty printer. The warm fusion algorithm rephrases explicitly recursive functions as functions defined using catamorphisms to enable ....
P. Johann and E. Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Annals of Mathematics and Artificial Intelligence. (To appear).
....built with Stratego. In Sections 5, 6, and 7 we discuss several highlights from the speci cation, focusing particularly on some of the new programming idioms that have emerged during the process of specifying the warm fusion algorithm in Stratego. The full text of the speci cation can be found in [14]. 2. Warm Fusion Modularity in functional programming is achieved by dividing programs into small, generally applicable functions that communicate via data structures. Johann Visser Warm Fusion in Stratego 5 data Bool = True False; data List a = Nil Cons a (List a) map : a b) ....
....and tprename for types. The strategy etrename is the sequential composition of exprename and tprename. 28 Johann Visser Warm Fusion in Stratego 6. Transformer: Big Picture In this section we discuss the speci cation of the top level of the warm fusion transformer. The reader is directed to [14], from which the following code is excerpted, for a complete code listing. 6.1. Transforming a Program The main strategy takes a program, i.e. a list of type and function declarations, and transforms each in turn. This is achieved by a transition step for each declaration: Main = etrename; ....
[Article contains additional citation context not shown here]
Patricia Johann and Eelco Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Technical report, Institute of Information and Computing Sciences, Universiteit Utrecht, Utrecht, The Netherlands, 2000.
....not be necessary to read the Compiler for ordinary use. However, it is a case study of the use of Stratego and in which a number of idioms are used. other stratego publications Several other publications introduce Stratego, discuss applications, semantics and related work. See for example [2, 3, 4, 8, 9]. 7 Chapter: Installation DOWNLOADING STRATEGO Stratego is available on the Internet. The Stratego distribution contains the sources of the Stratego compiler and the Stratego compiler. Utilities for use with Stratego are available in separate packages. the stratego package The Stratego ....
Patricia Johann and Eelco Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Technical report, Department of Computer Science, Universiteit Utrecht, Utrecht, The Netherlands, 1999.
....and the language because it provides a realistic case study and a good test case for the compiler. The compiler is being used in several program transformation case studies, such as a speci ciation of an optimizer for a functional language [12] a deforestation algorithm for a functional language [6] and a transformation tool to speed up C programs for high performance computing. In this abstract we give an overview of System S and Stratego, present the architecture of the compiler and show some examples of the use of strategies in the compiler. In the full paper we will further elaborate ....
Patricia Johann and Eelco Visser. Warm fusion in Stratego: A case study in the generation of program transformation systems. Technical report, Department of Computer Science, Universiteit Utrecht, Utrecht, The Netherlands, 1999.
No context found.
Johann, P., Visser, E.: Warm fusion in stratego: A case study in the generation of program transformation systems. Technical Report Technical Report UU-CS-200043, Institute of Information and Computing Sciences, Utrecht University (2000)
First 50 documents
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