TY - JOUR
T1 - Metamorphism in jigsaw
AU - Nakano, Keisuke
N1 - Copyright:
Copyright 2013 Elsevier B.V., All rights reserved.
PY - 2013/3
Y1 - 2013/3
N2 - A metamorphism is an unfold after a fold, consuming an input by the fold then generating an output by the unfold. It is typically useful for converting data representations, e.g., radix conversion of numbers. (Bird and Gibbons, Lecture Notes in Computer Science, vol. 2638, 2003, pp. 1-26) have shown that metamorphisms can be incrementally processed in streaming style when a certain condition holds because part of the output can be determined before the whole input is given. However, whereas radix conversion of fractions is amenable to streaming, radix conversion of natural numbers cannot satisfy the condition because it is impossible to determine part of the output before the whole input is completed. In this paper, we present a jigsaw model in which metamorphisms can be partially processed for outputs even when the streaming condition does not hold. We start with how to describe the 3-to-2 radix conversion of natural numbers using our model. The jigsaw model allows us to process metamorphisms in a flexible way that includes parallel computation. We also apply our model to other examples of metamorphisms.
AB - A metamorphism is an unfold after a fold, consuming an input by the fold then generating an output by the unfold. It is typically useful for converting data representations, e.g., radix conversion of numbers. (Bird and Gibbons, Lecture Notes in Computer Science, vol. 2638, 2003, pp. 1-26) have shown that metamorphisms can be incrementally processed in streaming style when a certain condition holds because part of the output can be determined before the whole input is given. However, whereas radix conversion of fractions is amenable to streaming, radix conversion of natural numbers cannot satisfy the condition because it is impossible to determine part of the output before the whole input is completed. In this paper, we present a jigsaw model in which metamorphisms can be partially processed for outputs even when the streaming condition does not hold. We start with how to describe the 3-to-2 radix conversion of natural numbers using our model. The jigsaw model allows us to process metamorphisms in a flexible way that includes parallel computation. We also apply our model to other examples of metamorphisms.
UR - http://www.scopus.com/inward/record.url?scp=84875912644&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84875912644&partnerID=8YFLogxK
U2 - 10.1017/S0956796812000391
DO - 10.1017/S0956796812000391
M3 - Article
AN - SCOPUS:84875912644
SN - 0956-7968
VL - 23
SP - 161
EP - 173
JO - Journal of Functional Programming
JF - Journal of Functional Programming
IS - 2
ER -