TY - GEN
T1 - Strictification of circular programs
AU - Fernandes, João Paulo
AU - Saraiva, João
AU - Seidel, Daniel
AU - Voigtländer, Janis
PY - 2011
Y1 - 2011
N2 - Circular functional programs (necessarily evaluated lazily) have been used as algorithmic tools, as attribute grammar implementations, and as target for program transformation techniques. Classically, Richard Bird [1984] showed how to transform certain multi-traversal programs (which could be evaluated strictly or lazily) into one-traversal ones using circular bindings. Can we go the other way, even for programs that are not in the image of his technique? That is the question we pursue in this paper. We develop an approach that on the one hand lets us deal with typical examples corresponding to attribute grammars, but on the other hand also helps to derive new algorithms for problems not previously in reach.
AB - Circular functional programs (necessarily evaluated lazily) have been used as algorithmic tools, as attribute grammar implementations, and as target for program transformation techniques. Classically, Richard Bird [1984] showed how to transform certain multi-traversal programs (which could be evaluated strictly or lazily) into one-traversal ones using circular bindings. Can we go the other way, even for programs that are not in the image of his technique? That is the question we pursue in this paper. We develop an approach that on the one hand lets us deal with typical examples corresponding to attribute grammars, but on the other hand also helps to derive new algorithms for problems not previously in reach.
KW - Program transformation
UR - http://www.scopus.com/inward/record.url?scp=79952128136&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=79952128136&partnerID=8YFLogxK
U2 - 10.1145/1929501.1929526
DO - 10.1145/1929501.1929526
M3 - Conference contribution
AN - SCOPUS:79952128136
SN - 9781450304856
T3 - PERM'11 - Proceedings of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
SP - 131
EP - 140
BT - PERM'11 - Proceedings of the 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
T2 - 20th ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM'11
Y2 - 24 January 2011 through 24 January 2011
ER -