Abstract
We discuss the problem of efficiently implementing functional aggregates in the new language United Functions and Objects(UFO). Our method is applicable to any high-order call-by-value functional language with nested aggregates. The novelty and originality in our work are as follows. (1) We introduce the concepts of group and degree. Through partitioning operations into groups and evaluating their degrees, the algorithm can schedule the most likely operation to be done in place. (2) Through introducing a new method of sharing counting, we can achieve storage reuse for nested aggregates. (3) Our pre-allocation strategy puts both incremental construction and incremental modification of aggregates into a unified framework, and so more global optimizations can be achieved. The time complexity of the algorithm is polynomial, and in common cases, it is linear to program size.
Original language | English |
---|---|
Title of host publication | Proceedings of the Annual Southeast Conference|Proc Annu Southeast Conf |
Place of Publication | New York, NY, United States |
Publisher | Association for Computing Machinery |
Pages | 73-82 |
Number of pages | 9 |
Publication status | Published - 1995 |
Event | Proceedings of the 33rd Annual Southeast Conference - Clemson, CA, USA Duration: 1 Jul 1995 → … http://dblp.uni-trier.de/db/conf/ACMse/ACMse1995.html#LiK95http://dblp.uni-trier.de/rec/bibtex/conf/ACMse/LiK95.xmlhttp://dblp.uni-trier.de/rec/bibtex/conf/ACMse/LiK95 |
Conference
Conference | Proceedings of the 33rd Annual Southeast Conference |
---|---|
City | Clemson, CA, USA |
Period | 1/07/95 → … |
Internet address |