Cutting Out Continuations

Patrick Bahr, Graham Hutton

Research output: Conference Article in Proceeding or Book/Report chapterBook chapterResearchpeer-review


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.
Original languageEnglish
Title of host publicationA List of Successes That Can Change the World : Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday
PublisherSpringer Publishing Company
Publication date25 Mar 2016
ISBN (Print)978-3-319-30935-4
ISBN (Electronic)978-3-319-30936-1
Publication statusPublished - 25 Mar 2016
SeriesLecture Notes in Computer Science


  • program transformation
  • continuation-passing style
  • defunctionalisation
  • equational reasoning
  • first-order programs


Dive into the research topics of 'Cutting Out Continuations'. Together they form a unique fingerprint.

Cite this