(Enter summary)
Abstract: In this thesis we present and analyse a set of automatic source-to-source program
transformations that are suitable for incorporation in optimising compilers for lazy
functional languages. These transformations improve the quality of code in many
different respects, such as execution time and memory usage.
The transformations presented are divided in two sets: global transformations, which
are performed once (or sometimes twice) during the compilation process; and a set
of local... (Update)
Context of citations to this paper: More
...operandi is compiling by transformation. It translates Haskell into a minimal functional language called Core where a lot of optimizations [San95,JS98] are performed. After that, imperative code is generated. In Eden s compiler, process abstractions and instantiations are hidden...
.... in Eden: It affects the referential transparency [HO90,SS90,SS92] of programs and invalidates some optimizations done in the GHC [San95] PS98] Such problems were precisely described in [PS01,PPRS00] In [PS01] a solution was proposed to solve this problem: To develop a...
Cited by: More
Optimising the Memory Management of Higher-Order Functional.. - Mohnen (1997)
(Correct)
A New Criterion for Safe Program Transformations - Minamide (2000)
(Correct)
An Evaluation of LOLITA and Related Natural Language Processing.. - Callaghan (1998)
(Correct)
Active bibliography (related documents): More All
1.8: Compilation by Transformation in the Glasgow Haskell Compiler - Jones, Santos (1994)
(Correct)
0.8: Execution Profiling for Non-strict Functional Languages - Sansom (1994)
(Correct)
0.6: On Program Transformation in the Glasgow Haskell Compiler - Santos, Jones (1993)
(Correct)
Similar documents based on text: More All
1.0: A Modular Fully-lazy Lambda Lifter in HASKELL - Jones, Lester (1991)
(Correct)
0.2: A Framework for Building Knowledge-Bases Under Uncertainty - Santos, Jr. (2001)
(Correct)
0.1: formelle, Librairie Droz, 1980. - Vilela Vilela Mrio
(Correct)
Related documents from co-citation: More All
7: The glasgow Haskell compiler: a technical overview
- Jones, Hall et al. - 1993
6: ORBIT - an optimising compiler for Scheme (context) - Kranz - 1988
6: Compiling with Continuations (context) - Appel - 1992
BibTeX entry: (Update)
A. L. Santos. Compilation by Transformation in Nonstrict Functional Languages. PhD thesis, Department of Computing Science, University of Glasgow, 1995. http://citeseer.ist.psu.edu/santos95compilation.html More
@phdthesis{ santos95compilation,
author = "Santos, Andr\'e",
title = "{C}ompilation by {T}ransformation in {N}on-{S}trict {F}unctional {L}anguages",
year = "1995",
url = "citeseer.ist.psu.edu/santos95compilation.html" }
Citations (may not include all citations):
1399
Compilers: Principles (context) - Aho, Sethi et al. - 1987
729
The Lambda Calculus Its Syntax and Semantics (context) - Barendregt - 1984
521
Compiling with Continuations (context) - Appel - 1992 ACM
359
The Implementation of Functional Programming Languages (context) - Jones - 1987
324
Deforestation: Transforming programs to eliminate trees
- Wadler - 1990 ACM DBLP
220
Orbit: An optimizing compiler for scheme (context) - Kranz, Kelsey et al. - 1986
210
Implementing lazy functional languages on stock hardware: Th..
- Jones - 1992
206
Why functional programming matters
- Hughes - 1989
190
How to make ad-hoc polymorphism less ad-hoc
- Wadler, Blott - 1989 DBLP
185
The Calculi of Lambda-Conversion (context) - Church - 1941
161
A short cut to deforestation
- Gill, Launchbury et al.
155
The essence of compiling with continuations
- Flanagan, Sabry et al. - 1993
146
The Glasgow Haskell Compiler: a technical overview
- Jones, Hall et al. - 1993
143
A new implementation technique for applicative languages (context) - Turner - 1979 DBLP
130
Full abstraction in the lazy lambda calculus (context) - Abramsky, Ong - 1993 ACM DBLP
114
A natural semantics for lazy evaluation
- Launchbury - 1993
112
Bisimilarity as a theory of functional programming (context) - Gordon - 1995
106
Observable properties of higher order functions that dynamic..
- Pitts, Stark - 1993
94
Equality in lazy computation systems
- Howe - 1989 ACM DBLP
84
Lambda lifting: Transforming programs to recursive equations
- Johnsson
81
Once upon a type
- Mossin, Turner et al. - 1995
72
Semantics and Pragmatics for the Lambda Calculus (context) - Wadsworth - 1971
71
Abstract Interpretation and Optimising Transformations for A.. (context) - Mycroft - 1981
51
Allyn and Bacon (context) - Schmidt - 1986
44
GRIP -- a highperformance architecture for parallel graph re.. (context) - Jones, Clack et al. - 1987
40
Unboxed values as first class citizens (context) - Jones, Launchbury - 1991
40
Deriving target code as a representation of continuation sem.. (context) - Wand - 1982 ACM DBLP
40
A portable machine-independent global optimizer --- design a.. (context) - Chow - 1983
39
A system which automatically improves programs (context) - Darlington, Burstall - 1976 DBLP
39
Compilation of functional languages by program transformatio.. (context) - Fradet, Le Metayer - 1991
38
Functional Programming and Input/Output (context) - Gordon - 1993 ACM
37
Procedure cloning
- Cooper, Hall et al. - 1992 ACM
36
Compiling Lazy Functional Languages (context) - Augustsson - 1987
35
Super combinators: A new implementation method for applicati.. (context) - Hughes - 1982 DBLP
34
Compiling pattern matching (context) - Augustsson
33
Implementing haskell overloading
- Augustsson - 1993
32
Automatic Methods for Program Transformation (context) - Chin - 1990
31
Benchmarking implementations of lazy functional languages ii..
- Hartel - 1994
31
Benchmarking implementations of lazy functional languages
- Hartel, Langendoen
29
of Programming Languages. PhD thesis, Programming Research G..
- Hughes, Implementation - 1983
26
Subprogram inlining: A study of its effects on program execu.. (context) - Davidson, Holler - 1992 ACM DBLP
24
Efficient compilation of pattern-matching (context) - Wadler - 1987
23
Software Practice and Experience (context) - Davidson, Holler et al. - 1988
21
A Cheap Deforestation for Non-Strict Functional Languages
- Gill - 1995
20
Technical Report ECS-LFCS (context) - Harper, McQuenn et al. - 1986
20
A transformational system for developing recursive programs (context) - Burstall, Darlington - 1977
19
A naive time analysis and its theory of cost equivalence (context) - Sands - 1993
19
ORBIT - an optimising compiler for Scheme (context) - Kranz - 1988
18
Implementing type classes
- Peterson, Jones - 1993 ACM DBLP
18
Avoiding unnecessary updates
- Launchbury, Gill et al.
18
and the linear lambdacalculus (context) - Maraist, Odersky et al. - 1995
16
Update avoidance analysis by abstract interpretation (context) - Marlow - 1993
15
Lambda-dropping: transforming recursive equations into progr..
- Danvy - 1995 DBLP
15
A system for assisting program transformation (context) - Feather - 1982 ACM DBLP
15
Compilation by Program Transformation (context) - Kelsey - 1989
14
A fully abstract translation between a -calculus with refere.. (context) - Ritter, Pitts - 1994
14
Generational garbage collection for Haskell
- Sansom, Jones ACM DBLP
13
A modular fully-lazy lambda lifter in Haskell
- Jones, Lester - 1991 ACM DBLP
11
Spiking your caches
- Hammond, Burn et al. - 1993
11
How not to lie with statistics: the correct way to summarize.. (context) - Fleming, Wallace - 1986 ACM DBLP
11
Compilation by transformation in the Glasgow Haskell Compile..
- Jones, Santos - 1994
10
Interprocedural analysis versus procedure integration (context) - Richardson, Ganapathi - 1989
8
Springer-Verlag (context) - Languages, Architecture et al. - 1985
7
The nofib benchmarking suite (context) - Partain
6
Unfold Transformation System for a Non-Strict Language (context) - Firth, Fold - 1990
6
The lazy functional intermediate language Stoffel (context) - Beemster - 1992
6
the benefits of different analyses in the compilation of a l..
- Hartel, Glaser et al. - 1991
5
Functional Programming (context) - Launchbury, Sansom - 1992 ACM
5
Using strictness in the STG machine (context) - Howe, Burn - 1993
5
MERILL: An equational reasoning system in Standard ML (context) - Matthews - 1993 DBLP
4
Loop headers in lambda-calculus or CPS
- Appel - 1994 DBLP
4
Making lambda calculus smaller (context) - Appel, Jim - 1994
4
Introduction to SpixTools (context) - Microsystems - 1993
4
Optimizing transformations for a lazy functional language (context) - Beemster - 1993
3
Abstract Interpretation of Functional Languages: A Quantitat.. (context) - Seward - 1994
3
Lambda-hoisting: A transformation technique for fully lazy e.. (context) - Takeichi - 1988 ACM
3
machine: An abstract machine for graph reduction (context) - Johnsson - 1983
2
Removing higher-order expressions by program transformation (context) - Chin, Darlington - 1991
2
Analysing a set of transformation rules using completion (context) - Matthews - 1994
2
Improving full laziness (context) - Holst - 1990
2
The future of applicative programming (context) - Turner - 1981 ACM DBLP
2
On program transformation in the Glasgow Haskell Compiler
- Santos, Jones ACM DBLP
2
the effectiveness of a simple strictness analyser (context) - Jones, Partain - 1993
1
and Simon Peyton Jones amd Philip Wadler (context) - Hall, Hammond - 1992
1
Workshops in Computing (context) - Programming, Ayr et al. - 1993
The graph only includes citing articles where the year of publication is known.
Documents on the same site (http://www2.tunes.org/~fare/pointers.html): More
Incremental Collection of Mature Objects - Richard Hudson (1992)
(Correct)
A transformation-based optimiser for Haskell - Jones, Santos (1998)
(Correct)
Benchmarking Implementations of Functional.. - Hartel, Feeley.. (1993)
(Correct)
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