Metamorphisms: Streaming Representation−Changers
<em>Unfolds</em> generate data structures, and <em>folds</em> consume them. A <em>hylomorphism</em> is a fold after an unfold, generating then consuming a <em>virtual data structure</em>. A <em>metamorphism</em> is the opposite composition,...
Main Author: | |
---|---|
Format: | Journal article |
Published: |
2007
|
_version_ | 1826306337023197184 |
---|---|
author | Gibbons, J |
author_facet | Gibbons, J |
author_sort | Gibbons, J |
collection | OXFORD |
description | <em>Unfolds</em> generate data structures, and <em>folds</em> consume them. A <em>hylomorphism</em> is a fold after an unfold, generating then consuming a <em>virtual data structure</em>. A <em>metamorphism</em> 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 <em>fusion</em> to <em>deforest</em> 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 <em>streaming metamorphisms</em>, and among other things allows conversion of <em>infinite data representations</em>. We present the theory of metamorphisms and outline some examples. |
first_indexed | 2024-03-07T06:46:25Z |
format | Journal article |
id | oxford-uuid:faff3bb5-aa0d-4d64-b16c-6b323c20f1f8 |
institution | University of Oxford |
last_indexed | 2024-03-07T06:46:25Z |
publishDate | 2007 |
record_format | dspace |
spelling | oxford-uuid:faff3bb5-aa0d-4d64-b16c-6b323c20f1f82022-03-27T13:10:33ZMetamorphisms: Streaming Representation−ChangersJournal articlehttp://purl.org/coar/resource_type/c_dcae04bcuuid:faff3bb5-aa0d-4d64-b16c-6b323c20f1f8Department of Computer Science2007Gibbons, J<em>Unfolds</em> generate data structures, and <em>folds</em> consume them. A <em>hylomorphism</em> is a fold after an unfold, generating then consuming a <em>virtual data structure</em>. A <em>metamorphism</em> 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 <em>fusion</em> to <em>deforest</em> 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 <em>streaming metamorphisms</em>, and among other things allows conversion of <em>infinite data representations</em>. We present the theory of metamorphisms and outline some examples. |
spellingShingle | Gibbons, J Metamorphisms: Streaming Representation−Changers |
title | Metamorphisms: Streaming Representation−Changers |
title_full | Metamorphisms: Streaming Representation−Changers |
title_fullStr | Metamorphisms: Streaming Representation−Changers |
title_full_unstemmed | Metamorphisms: Streaming Representation−Changers |
title_short | Metamorphisms: Streaming Representation−Changers |
title_sort | metamorphisms streaming representation changers |
work_keys_str_mv | AT gibbonsj metamorphismsstreamingrepresentationchangers |