www.comlab.ox.ac.uk/publications/publication1035-abstract.html

Streaming Representation-Changers

Jeremy Gibbons

Abstract

Unfolds generate data structures, and folds consume them. A hylomorphism is a fold after an unfold, generating then consuming a virtual data structure. A metamorphism is the opposite composition, an unfold after a fold; typically, it will convert from one data representation to another. In general, metamorphisms are less interesting than hylomorphisms: there is no automatic fusion to deforest the intermediate virtual data structure. However, under certain conditions fusion is possible: some of the work of the unfold can be done before all of the work of the fold is complete. This permits streaming metamorphisms, and among other things allows conversion of infinite data representations. We present the theory of metamorphisms and outline some examples.

Details

Book Title

Mathematics of Program Construction

Editor

Dexter Kozen

Month

jul

Note

http://www.springerlink.com/index/LHQ73WU5GU686976

Pages

142-168

Series

Lecture Notes in Computer Science

Volume

3125

Year

2004

Links

BibTeX

Link (pdf)

Related pages

People

Projects

Activities