21 citations found. Retrieving documents...
P. Wadler, Listlessness is better than laziness, in "Proceedings of ACM Symposium on Lisp and Functional Programming," Austin, Texas, 1984.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Alias Types for Recursive Data Structures - Walker, Morrisett (2000)   (67 citations)  (Correct)

....users or certifying compilers to have far more control over the memory management of complex data structures. To demonstrate this fact, we show how two classes of space optimization can be encoded in a language based on recursive alias types. The rst optimization, called destination passing style [41, 22, 7, 24] transforms algorithms that are tail recursive modulo allocation into properly tail recursive algorithms, thereby avoiding the space overheads of a control stack. The second optimization shows how we can safely encode Deutsch Schorr Waite algorithms [35] for traversing a tree using minimal ....

....style (DPS) transformation detects a certain form of almost tail recursive function and automatically transforms it into an ecient properly tail recursive function. The transformation improves many functional programs signi cantly, leading a number researchers to study the problem in depth [41, 22, 7, 24]. Our contribution is to provide a type system that can be used in a type preserving compiler and is capable of verifying that the code resulting from the transformation is safe. Append is the canonical example of a function suitable for DPS: fun append (xs,ys) case xs of [ ys hd : ....

Philip Wadler. Listlessness is Better than Laziness. PhD thesis, Carnegie Mellon University, August 1985. Available as Carnegie Mellon University technical report CMU-CS-85-171.


Transformation-based Strategies for Lazy Functional.. - Alpuente, Falaschi.. (1999)   (Correct)

....by another function f. In some cases, most of the efficiency improvement of the composition strategy can be simply obtained by lazy evaluation [16] Nevertheless, the composition strategy often allows the derivation of 11 programs with improved performance also in the context of lazy evaluation [37]. Laziness is decisive when, given a nested function call f(g(X) the intermediate data structure produced by g is infinite but the function f can produce its outcome by knowing only a finite portion of the output of g. The following example illustrates the advantages of our transformation rules ....

P.L. Wadler. Listlessness is better than Laziness. Computer Science Department, CMU-CS-85-171, Carnegie Mellon Univertsity, Pittsburgh, PA, 1985. Ph.D. Thesis.


Adaptive Functional Programming - Acar, Blelloch, Harper (2001)   (2 citations)  (Correct)

....creating (modr) writing (write) and reading (read) modi ables. Only values placed in a modi able can change over time the user controls the adaptivity by choosing where to place the modi ables. Any value, including functions, can be modi able. Modi ables are used in a destination passing style [6, 17, 9] the modr creates the destination which is passed into a body which is responsible for writing to it (examples are given in the next section) The reads take a modi able and a reader function as arguments. The reader function is applied to the value of the modi able, and is stored and rerun if the ....

Philip L. Wadler. Listlessness Is Better Than Laziness. PhD thesis, Carnegie Mellon University, Pittsburgh, PA, 1985.


Alias Types for Recursive Data Structures - Walker, Morrisett (2000)   (67 citations)  (Correct)

....users or certifying compilers to have far more control over the memory management of complex data structures. To demonstrate this fact, we show how two classes of space optimization can be encoded in a language based on recursive alias types. The first optimization, called destinationpassing style [41, 22, 7] transforms algorithms that are tailrecursive modulo allocation into properly tail recursive algorithms, thereby avoiding the space overheads of a control stack. The second optimization shows how we can safely encode Deutsch Schorr Waite algorithms [35] for traversing a tree using minimal ....

....style (DPS) transformation detects a certain form of almost tail recursive function and automatically transforms it into an efficient properly tailrecursive function. The transformation improves many functional programs significantly, leading a number researchers to study the problem in depth [41, 22, 7, 24]. Our contribution is to provide a type system that can be used in a type preserving compiler and is capable of verifying that the code resulting from the transformation is safe. Append is the canonical example of a function suitable for DPS: fun append (xs,ys) case xs of [ ys hd : ....

Philip Wadler. Listlessness is Better than Laziness. PhD thesis, Carnegie Mellon University, August 1985. Available as Carnegie Mellon University technical report CMU-CS-85-171.


Warm Fusion for the Masses: Detailing Virtual Data.. - Johann, Launchbury (1998)   (Correct)

....method are described in the next subsections. 2.2 Listlessness and Deforestation Wadler s work on deforestation, which grew out of his earlier work on listlessness, provides one example of a program improvement algorithm based on fold unfold transformations. The original listless transformer ([Wad83]) used many of the same ideas that Turchin used in developing his supercompiler (see section 4.1) to design a semidecision procedure for transforming recursive programs which can be lazily evaluated in constant bounded space into equivalent listless programs resembling finite automata. The ....

P. Wadler. Listlessness is Better than Laziness. Dissertation, Department of Computer Science, Carnegie Mellon University, 1983.


Warm Fusion for the Masses: Detailing Virtual Data.. - Johann, Launchbury (1997)   (Correct)

....method are described in the next subsections. 8 2.2 Listlessness and Deforestation Wadler s work on deforestation, which grew out of his earlier work on listlessness, provides one example of a program improvement algorithm based on fold unfold transformations. The original listless transformer ([Wad83]) used many of the same ideas that Turchin used in developing the supercompiler (see section 4.1) to design a semidecision procedure for transforming recursive programs which can be lazily evaluated in constant bounded space into equivalent listless programs resembling finite automata. The ....

P. Wadler. Listlessness is Better than Laziness. Dissertation, Department of Computer Science, Carnegie Mellon University, 1993.


A Transformation System for Lazy Functional Logic Programs - Alpuente, Falaschi.. (1999)   (3 citations)  (Correct)

....by another function f. In some cases, most of the efficiency improvement of the composition strategy can be simply obtained by lazy evaluation [12] Nevertheless, the composition strategy often allows the derivation of programs with improved performance also in the context of lazy evaluation [29]. Laziness is decisive when, given a nested function call f(g(X) the intermediate data structure produced by g is infinite but the function f can produce its outcome by knowing only a finite portion of the output of g. The following example illustrates the advantages of our transformation rules ....

P.L. Wadler. Listlessness is better than Laziness. Computer Science Department, CMU-CS-85-171, Carnegie Mellon Univertsity, Pittsburgh, PA, 1985. Ph.D. Thesis.


Constraints to Stop Higher-Order Deforestation - Seidl, Sørensen (1997)   (10 citations)  (Correct)

....functional languages like ML, Haskell, and Miranda include higher order functions which should be transformed too. Several preliminary approaches reduce the higher order case to the well studied first order case. Wadler [55] considers programs with higher order 1 Earlier techniques include [3, 6, 14, 15, 31, 33, 50, 51, 52, 53]. macros. Any such program typable in the HindleyMilner [27, 36] type system can be expanded out to a first order program, and transformed with first order deforestation. These programs include applications of the fold and map functions, but exclude useful constructions, e.g. lists of functions. ....

P.L. Wadler. Listlessness is better than laziness. In ACM Conference on Lisp and Functional Programming, pages 282--305. ACM Press, 1984.


A Positive Supercompiler - Sørensen, Glück, Jones (1993)   (3 citations)  (Correct)

....we present a positive supercompiler comprising a driving and a folding component. The driving component can be viewed as a reformulation of a certain fragment of driving as defined in Turchin s supercompiler. For the second 1 Earlier work by Turchin et al. 1982) Feather (1982) Bird (1984) Wadler (1984), and others, also addressed elimination of intermediate data structures. A Positive Supercompiler 3 component we fold only calls that are identical up to renaming, the same strategy as in deforestation. 2 The formulation of our two components is inspired by Wadler s formulation of ....

Wadler, P.L. 1984. Listlessness is better than laziness. In ACM Symposium on Lisp and Functional Programming 1984, pages 282--305, ACM.


Normal Forms and Conservative Properties for Query Languages over.. - Wong (1993)   (26 citations)  (Correct)

....generalized this to any i and o. ffl The normal form used by Paredaen and Van Gucht is a normal form of logic formulae and the intuition behind their proof is mainly that of logical equivalence. In our case, our inspiration comes from a well known optimization strategy (see Wadler s early paper [23, 24] on this subject) In plain terms, we have evaluated the query without looking at the input and managed to flatten the query sufficiently until all intermediate operators of higher heights are optimized out. This idea is summarized by the rewriting rule fe j Delta 1 ; x 2 fe 0 j Delta 0 g; ....

P. Wadler. Listlessness is better than laziness. In Proceedings of ACM Symposium on Lisp and Functional Programming, Austin, Texas, August 1984.


Normal Forms And Conservative Extension Properties For Query.. - Wong (1995)   (4 citations)  (Correct)

....and o. ffl The normal form used by Paredaens and Van Gucht is a normal form of logic formulae and the intuition behind their proof is mainly that of logical equivalence and quantifier elimination. In our case, the inspiration comes from a well known optimization strategy (see Wadler s early paper [32, 33] on this subject) In plain terms, we have evaluated the query without looking at the input and managed to flatten the query sufficiently until all intermediate operators of higher heights are optimized out. This idea is summarized by the pipeline rule fe j Delta 1 ; x 2 fe 0 j Delta 0 g; ....

P. Wadler, Listlessness is better than laziness, in "Proceedings of ACM Symposium on Lisp and Functional Programming," Austin, Texas, 1984.


Constraints to Stop Higher-Order Deforestation - Seidl, Sørensen (1997)   (10 citations)  (Correct)

....collect a set of integer constraints. These termination techniques concern only first order programs. However, modern functional languages like ML, Haskell, and Miranda include higher order functions which should be transformed too. Several preliminary approaches 1 Earlier techniques include [3, 5, 13, 14, 30, 32, 49, 50, 51, 52]. reduce the higher order case to the first order case. Wadler [54] considers programs with higher order macros. Any such program typable in the Hindley Milner [27, 35] type system can be expanded out to a first order program, and transformed with first order deforestation. These programs ....

P.L. Wadler. Listlessness is better than laziness. In ACM Conference on Lisp and Functional Programming, pages 282--305. ACM Press, 1984.


Fixing Some Space Leaks With a Garbage Collector - Wadler (1987)   (17 citations)  Self-citation (Wadler)   (Correct)

....8 the solution suggested here is simpler than Hughes , it does not address as wide a range of program structures. However, an alternative solution for this particular program is mentioned below. The results of this paper are also relevant to a different piece of work, the listless transformer [10, 11, 12]. Roughly speaking, the listless transformer will take any program which can be evaluated in constant space and transform it to an equivalent listless program. The advantage of doing this is that a listless program examines each input list only once and builds no intermediate lists. The listless ....

...., will count as listless once the modification to the garbage collector is included. In the original work, functions such as break were made listless by including annotations to indicate that extra reductions should be performed. This was called languid evaluation ; see Chapter 7 of reference [11]. The modification described here is a much simpler method of achieving this effect. The second advantage is as follows. There is an easy way of translating a listless program into an equivalent functional program; however, this translation involves where clauses with tuples on the left hand ....

Philip Wadler. Listlessness is better than laziness. PhD thesis, Carnegie-Mellon University, August 1984.


Normal Forms and Conservative Extension Properties for Query.. - Wong (1995)   (4 citations)  (Correct)

No context found.

P. Wadler, Listlessness is better than laziness, in "Proceedings of ACM Symposium on Lisp and Functional Programming," Austin, Texas, 1984.


Alias Types for Recursive Data Structures - Walker, Morrisett (2000)   (67 citations)  (Correct)

No context found.

Philip Wadler. Listlessness is Better than Laziness.PhD thesis, Carnegie Mellon University, August 1985. Available as Carnegie Mellon University technical report CMU-CS-85171.


Rules + Strategies for Transforming Lazy Functional.. - Alpuente, Falaschi.. (2004)   (Correct)

No context found.

P.L. Wadler. Listlessness is better than Laziness. Computer Science Department, CMU-CS-85-171, Carnegie Mellon Univertsity, Pittsburgh, PA, 1985. Ph.D. Thesis.


Alias Types for Recursive Data Structures - Extended Version David   (Correct)

No context found.

Philip Wadler. Listlessness is Better than Laziness.PhD thesis, Carnegie Mellon University, August 1985. Available as Carnegie Mellon University technical report CMU-CS-85171.


Optimising the Memory Management of Higher-Order Functional.. - Mohnen (1997)   (2 citations)  (Correct)

No context found.

P. Wadler. Listlessness is Better than Laziness. In Proceedings of the 1984 ACM Symposium on Lisp and Functional Programming (LaFP), pages 4552. ACM, August 1984.


A Functional Representation of Data Structures with a Hole - Yasuhiko Minamide Research (1998)   (7 citations)  (Correct)

No context found.

P. L. Wadler. Listlessness is Better than Laziness. PhD thesis, Computer Science Department, Carnegie-Mellon University, 1985. CMU-CS-85-171.


Rules and Strategies for Transforming Functional and Logic.. - Pettorossi, Proietti (1996)   (51 citations)  (Correct)

No context found.

Wadler, P. L.: Listlessness is Better than Laziness. Ph.D. Thesis, Computer Science Department, CMU-CS-85-171, Carnegie Mellon University, Pittsburgh, PA, USA (1985)


Constraints to Stop Deforestation - Seidl, Sørensen (1998)   (8 citations)  (Correct)

No context found.

P.L. Wadler. Listlessness is better than laziness. In ACM Conference on Lisp and Functional Programming, pages 282--305. ACM Press, 1984.

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