|
ABSTRACT
We propose a new algorithm for fusion transformation that allows both stacks and accumulating parameters. The new algorithm can fuse programs that cannot be handled by existing fusion techniques, eg, XML transformations. The algorithm is formulated in a modular, type-directed style where the transformation process is comprised of several transformation steps that change types but preserve the observational behavior of programs. We identify a class of functions to which our new fusion method successfully applies and show that a closure property holds for that class.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
R. S. Bird. Using circular programs to eliminate multiple traversals of data. Acta Informatica, 21:239--250, 1984.
|
 |
2
|
|
 |
3
|
|
| |
4
|
W.-N. Chin. Safe fusion of functional expressions II: Further improvements. Journal of Functional Programming, 4(4):515--555, 1994.
|
 |
5
|
|
 |
6
|
|
| |
7
|
A. Gill. Cheap Deforestation for Non-strict Functional Languages. PhD thesis, University of Glasgow, 1996.
|
 |
8
|
|
| |
9
|
The Haskell home page. http://www.haskell.org/.
|
| |
10
|
John E. Hopcroft , Rajeev Motwani , Rotwani , Jeffrey D. Ullman, Introduction to Automata Theory, Languages and Computability, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 2000
|
 |
11
|
Zhenjiang Hu , Hideya Iwasaki , Masato Takeichi, Deriving structural hylomorphisms from recursive definitions, Proceedings of the first ACM SIGPLAN international conference on Functional programming, p.73-82, May 24-26, 1996, Philadelphia, Pennsylvania, United States
|
| |
12
|
|
| |
13
|
K. Kakehi, R. Glück, and Y. Futamura. An extension of shortcut deforestation for accumulative list folding. IEICE Transactions on Information and Systems, E85-D(9):1372--1383, 2002.
|
 |
14
|
|
| |
15
|
K. Nakano. Composing stack-attributed tree transducers. Technical Report METR--2004--01, Department of Mathematical Informatics, University of Tokyo, Japan, 2004.
|
| |
16
|
K. Nakano and S. Nishimura. Deriving event-based document transformers from tree-based specifications. In LDTA'2001 Workshop on Language Descriptions, Tools and Applications, volume 44 of Electronic Notes in Theoretical Computer Science. Elsevier Science, 2001.
|
| |
17
|
S. Nishimura. Correctness of a higher-order removal transformation through a relational reasoning. In Programming Language and Systems, First Asian Symposium, APLAS 2003 Proceedings, volume 2895 of LNCS, pages 358--375. Springer Verlag, 2003. A full version is available as a preprint Kyoto-Math 2003-06 from http://www.math.kyoto-u.ac.jp/~susumu/papers/aplas03-long.ps.gz.
|
| |
18
|
S. Nishimura and K. Nakano. XML stream transformer generation through program composition and dependency analysis. submitted.
|
| |
19
|
|
 |
20
|
|
 |
21
|
|
 |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
 |
26
|
|
| |
27
|
|
|