11 citations found. Retrieving documents...
S. Peyton Jones and A. Santos, Compilation by Transformation in the Glasgow Haskell Compiler. In Glasgow Workshop on Functional Programming, Ayr, September 1994. Springer Verlag Workshops in Computing Series.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Once Upon a Type - Turner, Wadler, Mossin (1997)   (71 citations)  (Correct)

....note that the rule L[let x = e in e ] has as an instance let y = let x = e in e 2 ) in e 3 = let x = e in (let y = e 2 in e 3 ) if x = 2 fv(e 3 ) which is helpful if, say, further simplification reduces e 2 to a value. The Glasgow Haskell compiler makes extensive use of both reductions [PS94]. The fact that the latter rule undoes the effect of the former is not a problem in practice, since one can apply the rules in separate 30 phases: first flatten out as many let s as possible using the second rule, do any transformations which were enabled by the flattening phase, then finally ....

S. Peyton Jones and A. Santos, Compilation by Transformation in the Glasgow Haskell Compiler. In Glasgow Workshop on Functional Programming, Ayr, September 1994. Springer Verlag Workshops in Computing Series.


Automatic Extraction of Context Information From Programs .. - Schütz, Schmidt-Schauß (1997)   (Correct)

....generalization of strictness analysis is context analysis which tries to find the degree of evaluation that is required of the argument given a degree of evaluation required of the application. While there has been some research on the exploitation of strictness information for optimization e.g. [PJS94, HB93, PJL91, PJP] research on context information and its use e.g. LB96, FB94, Sew92, Far92] has not received much attention. Many approaches to strictness analysis define a finite set of abstract values for any particular type beforehand for use in the analysis, e.g. Wadler s 4 point This work was supported ....

Simon L. Peyton Jones and Andr'e Santos. Compilation by transformation in the Glasgow Haskell Compiler. In Functional Programming, Glasgow 1994, Workshops in Computing, pages 184-- 204. Springer, 1994.


Once Upon a Type - Turner, Wadler, Mossin (1995)   (71 citations)  (Correct)

....x = e in e 0 ] let x = e in L[e 0 ] has as an instance let y = let x = e in e 2 ) in e 3 = let x = e in (let y = e 2 in e 3 ) if x = 2 fv(e 3 ) which is helpful if, say, further simplification reduces e 2 to a value. The Glasgow Haskell compiler makes extensive use of both reductions [PS94]. The fact that the latter rule undoes the effect of the former is not a problem in practice, since one can apply the rules in separate phases: first flatten out as many let s as possible using the second rule, do any transformations which were enabled by the flattening phase, then finally push ....

S. Peyton Jones and A. Santos, Compilation by Transformation in the Glasgow Haskell Compiler. In Glasgow Workshop on Functional Programming, Ayr, September 1994. Springer Verlag Workshops in Computing Series.


Implementing Context Patterns in the Glasgow Haskell Compiler - Mohnen, Tobies (1997)   (Correct)

....context patterns, a new nonlocal form of patterns, which allow the matching of subterms without xed distance from the root of the whole term. The main motivation for context patterns is the need for an adequate method for describing transformations, e.g. in optimising compilers written in Haskell [PS94, Pey96]. Such functions typically recursively search for an instance a subpattern in a value (aka program) and replace this instance. Hence, the subpattern of interest is at a non xed distance from the root, and the surrounding program fragment is its context. match binding Fig. 1. Match with standard ....

....to demonstrate how to program transformations using context patterns, we give one more example program. More examples and a detailed discussion on related work can be found in [Moh97] The Glasgow Haskell Compiler ghc compiles Haskell programs by translation into an intermediate language Core [PS94, Pey96]. The part which performs this translation is called the desugarer, because it removes the syntactic sugar like patternmatching, list comprehensions, etc. One small subtask is the translation of conditionals into case. Assume we represent (a subset of) Haskell expressions with the following data ....

[Article contains additional citation context not shown here]

S. L. Peyton Jones and A. Santos. Compilation by Transformation in the Glasgow Haskell Compiler. In Functional Programming, Glasgow 1994, Workshops in Computing. SpringerVerlag, 1994.


Context Patterns in Haskell - Mohnen (1996)   (4 citations)  (Correct)

....sort zs = zs In this version the context c : Ord a = a a [a] contains everthing but x and y. This sort of fusion is always possible when two contexts meet directly. 4. 3 A Desugarer The Glasgow Haskell Compiler ghc compiles Haskell programs by translation into an intermediate language Core [PS94, Pey96]. The part which performs this translation is called desugarer, because it removes the syntactic sugar like patternmatching, list comprehensions, etc. One small subtask is the translation of conditionals into case. Assume we represent (a subset of) Haskell expressions with the following data ....

....l) of (2,c,x) c [ x) undefined Of course, the resulting programs can be optimised. We can distinguish three classes of possible optimisations: 1. simple wellknown program transformations like inlining (e.g. chk2) and fi reduction (e.g. application of chk2) as for instance used in ghc [PS94, Pey96] 2. more eOEcient pattern matching strategies like those in [Pey87, Chapter 7] or [Thi93] can be adopted 3. completely new optimisations can be performed. If the function using a context pattern is recursive, it may be unnecessary to check the complete structure again. Using this idea on the ....

S. L. Peyton Jones and A. Santos. Compilation by Transformation in the Glasgow Haskell Compiler. In Functional Programming, Glasgow 1994, Workshops in Computing. SpringerVerlag, 1994.


A Partial Rehabilitation of Side-Effecting I/O.. - Schmidt-Schauß (1996)   (Correct)

.... Programs Now we have criteria to judge the validity of program transformations w.r.t. the defined equivalencies. Note that now all program transformations must be seen as transformations on graphic expressions rather than flat expressions. We will have a look at the transformations mentioned in [PJS94] Transformation: ffi reduction, case reduction (partial evaluation) The ffi reduction and case reduction preserve strong equivalence of programs, as can be seen by inspecting the proof of the second Church Rosser Theorem. However, it is not permitted to evaluate interface functions. The ....

....evaluate interface functions. The questionanswer behaviour is not affected. Transformation: interface reduction This reduction does not preserve strong or weak equivalence, since after the reduction one question answer pair is missing. Now we consider some simple (humble) program transformation [PJS94] Transformation caseover casewith functions as globally defined. case (case e of c 1 s 1 ; c n s n ) of d 1 t 1 ; dm t m transforms to: let x 1 = t 1 ; xm = t m in (case e of c 1 (case s 1 of d 1 x 1 ; dm xm ) c n (case s n ....

Simon L. Peyton Jones and Andr'e Santos. Compilation by transformation in the Glasgow Haskell Compiler. In Functional Programming, Glasgow 1994, Workshops in Computing, pages 184-- 204. Springer, 1994.


Once Upon a Type - Turner, Wadler, Mossin (1995)   (71 citations)  (Correct)

....L[let x = e 0 in e] let x = e 0 in L[e] has as an instance let y = let x = e1 in e2) in e3 = let x = e1 in (let y = e2 in e3) if x = 2 fv(e3) which is helpful if, say, further simplification reduces e2 to a value. The Glasgow Haskell compiler makes extensive use of both reductions [PS94]. The fact that the latter rule undoes the effect of the former is not a problem in practice, since one can apply the rules in separate phases: first flatten out as many let s as possible using the second rule, do any transformations which were enabled by the flattening phase, then finally push ....

S. Peyton Jones and A. Santos, Compilation by Transformation in the Glasgow Haskell Compiler. In Glasgow Workshop on Functional Programming, Ayr, September 1994. Springer Verlag Workshops in Computing Series.


A transformation-based optimiser for Haskell - Jones, Santos (1998)   (56 citations)  Self-citation (Jones Santos)   (Correct)

No context found.

SL Peyton Jones & A Santos [1994], "Compilation by transformation in the Glasgow Haskell Compiler," in Functional Programming, Glasgow 1994, K Hammond, DN Turner & PM Sansom, eds., Workshops in Computing, Springer Verlag, 1994, .


Let-Floating: Moving Bindings to Give Faster Programs - Jones, Partain, Santos (1996)   (24 citations)  Self-citation (Jones Santos)   (Correct)

No context found.

SL Peyton Jones & A Santos [1994], "Compilation by transformation in the Glasgow Haskell Compiler," in Functional Programming, Glasgow 1994, K Hammond, DN Turner & PM Sansom, eds., Workshops in Computing, Springer Verlag, 184--204.


Compilation by Transformation in Non-Strict Functional Languages - Santos (1995)   (12 citations)  Self-citation (Santos)   (Correct)

....to reason about the cost of expressions before and after a transformation. This allows a more rigorous definition of code improvement, which can be used to reason about the effects of a program transformation in a more formal framework. Parts of this work have been previously presented in [SP92, PS94] 1.2 Structure of the thesis We start by describing the framework we will use to present and measure the effectiveness of our transformations, introducing the Core language, how we measured the effect of the transformations and what benchmark programs we used (Chapter 2) We then present the ....

Simon Peyton Jones and Andr'e Santos. Compilation by transformation in the Glasgow Haskell Compiler. In Functional Programming, Glasgow 1994, Ayr, Scotland, 1994. Springer Verlag, Workshops in Computing.


Compiling Haskell by program transformation: a report from the.. - Jones (1996)   (45 citations)  Self-citation (Jones)   (Correct)

No context found.

SL Peyton Jones & A Santos [1994], "Compilation by transformation in the Glasgow Haskell Compiler," in Functional Programming, Glasgow 1994 , K Hammond, DN Turner & PM Sansom, eds., Workshops in Computing, Springer Verlag, 184--204.

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