Fold-based fusion as a library: a generative programming pearl

Fusion is a program optimisation technique commonly implemented using special-purpose compiler support. In this paper, we present an alternative approach, implementing fold-based fusion as a standalone library. We use staging to compose operations on folds; the operations are partially evaluated away, yielding code that does not construct unnecessary intermediate data structures. The technique extends to partitioning and grouping of collections.


Published in:
Proceedings of the 6th ACM SIGPLAN Symposium on Scala - SCALA 2015, 41-50
Presented at:
6th ACM SIGPLAN Symposium on Scala, Portland, OR, USA, June 13, 2015
Year:
2015
Publisher:
New York, New York, USA, ACM Press
Keywords:
Laboratories:




 Record created 2015-06-17, last modified 2018-09-13

Publisher's version:
Download fulltext
PDF

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)