Cutting out continuations
In the field of program transformation, one often transforms programs into continuation-passing style to make their flow of control explicit, and then immediately removes the resulting continuations using defunctionalisation to make the programs first-order. In this article, we show how these two tr...
| Main Authors: | , |
|---|---|
| Format: | Conference or Workshop Item |
| Published: |
2016
|
| Online Access: | https://eprints.nottingham.ac.uk/32703/ |
| Summary: | In the field of program transformation, one often transforms programs into continuation-passing style to make their flow of control explicit, and then immediately removes the resulting continuations using defunctionalisation to make the programs first-order. In this article, we show how these two transformations can be fused together into a single transformation step that cuts out the need to first introduce and then eliminate continuations. Our approach is calculational, uses standard equational reasoning techniques, and is widely applicable. |
|---|