Continuation-passing, closure-passing style

Andrew W. Appel, Trevor Jim

Research output: Chapter in Book/Report/Conference proceedingConference contribution

73 Scopus citations

Abstract

We implemented a continuation-passing style (CPS) code generator for ML. Our CPS language is represented as an ML datatype in which all functions are named and most kinds of ill-formed expressions are impossible. We separate the code generation into phases that rewrite this representation into ever-simpler forms. Closures are represented explicitly as records, so that closure strategies can be communicated from one phase to another. No stack is used. Our benchmark data shows that the new method is an improvement over our previous, abstract-machine based code generator.

Original languageEnglish (US)
Title of host publicationConf Rec Sixteenth Annu ACM Symp Princ Program Lang
PublisherPubl by ACM
Pages293-302
Number of pages10
ISBN (Print)0897912942, 9780897912945
DOIs
StatePublished - 1989
EventConference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages - Austin, TX, USA
Duration: Jan 11 1989Jan 13 1989

Publication series

NameConf Rec Sixteenth Annu ACM Symp Princ Program Lang

Other

OtherConference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages
CityAustin, TX, USA
Period1/11/891/13/89

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Cite this

Appel, A. W., & Jim, T. (1989). Continuation-passing, closure-passing style. In Conf Rec Sixteenth Annu ACM Symp Princ Program Lang (pp. 293-302). (Conf Rec Sixteenth Annu ACM Symp Princ Program Lang). Publ by ACM. https://doi.org/10.1145/75277.75303