A Reflection on Call-by-Value

Amr Sabry, Philip Wadler

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

Abstract

A number of compilers exploit the following strategy: translate a term to continuation-passing style (CPS) and optimize the resulting term using a sequence of reductions. Recent work suggests that an alternative strategy is superior: optimize directly in an extended source calculus. We suggest that the appropriate relation between the source and target calculi may be captured by a special case of a Galois connection known as a reflection. Previous work has focused on the weaker notion of an equational correspondence, which is based on equality rather than reduction. We show that Moggi's monad translation and Plotkin's CPS translation can both be regarded as reflections, and thereby strengthen a number of results in the literature.
Original languageEnglish
Title of host publicationProceedings of the 1996 ACM SIGPLAN International Conference on Functional Programming (ICFP '96), Philadelphia, Pennsylvania, May 24-26, 1996.
PublisherACM
Pages13-24
Number of pages12
ISBN (Print)0-89791-770-7
DOIs
Publication statusPublished - 1996

Fingerprint Dive into the research topics of 'A Reflection on Call-by-Value'. Together they form a unique fingerprint.

Cite this