Download:
|
by Elvira Albert, Frank Steiner
In Proceedings of the 9th Intl. Workshop on Functional and Logic Programming
http://www.dsic.upv.es/~wflp2000/paper20.ps.gz
Add To MetaCart
Abstract:
Abstract. The multi-paradigm language Curry integrates features from functional, logic, and concurrent programming. In this work, we consider two well-known listprocessing optimizations: short cut deforestation (from functional programming) and difference-lists (from logic programming), and study their adaptation to our integrated setting. While short cut deforestation adapts smoothly, the use of differencelists in Curry is impractical due to the absence of non-strict equality in the language. Despite all, we have developed a novel transformation which achieves a similar effect over functional logic programs. Both transformations combined together yield a simple and practical method for optimizing list-processing programs. 1
Citations
|
722
|
Rewrite systems
– Dershowitz, Jouannaud
- 1990
|
|
529
|
A transformation system for developing recursive programs
– Burstall, Darlington
- 1977
|
|
366
|
Deforestation: Transforming programs to eliminate trees
– Wadler
- 1988
|
|
333
|
The integration of functions into logic programming: from theory to practice
– Hanus
- 1994
|
|
288
|
M.: A needed narrowing strategy
– Antoy, Echahed, et al.
- 2000
|
|
179
|
A short cut to deforestation
– Gill, Launchbury, et al.
- 1993
|
|
148
|
The Art of Prolog: Advanced Programming Techniques
– Sterling
- 1994
|
|
73
|
Towards an automated tupling strategy
– Chin
- 1993
|
|
70
|
Higher-Order Narrowing with Definitional Trees
– Prehofer
- 1997
|
|
49
|
Cheap deforestation for non-strict functional languages
– Gill
- 1996
|
|
27
|
A novel representation of lists and its application to the function “reverse
– Hughes
- 1986
|
|
19
|
A Transformation System for Lazy Functional Logic Programs
– Alpuente, Falaschi, et al.
- 1999
|
|
15
|
Specialization of Functional Logic Programs Based on Needed Narrowing
– Alpuente, Hanus, et al.
- 1999
|
|
13
|
The Concatenate Vanishes
– Wadler
- 1987
|
|
6
|
Difference-list Transformation for Prolog
– Marriott, Sndergaard
- 1993
|
|
3
|
List-Processing Optimizations in a Multi-Paradigm Declarative Language
– Albert, Ferri, et al.
- 2000
|