ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Galois connections and computer science applications
Proceedings of a tutorial and workshop on Category theory and computer programming
Theoretical Computer Science
Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Notions of computation and monads
Information and Computation
Compiling with continuations
The essence of compiling with continuations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Separating stages in the continuation-passing style transformation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A generic account of continuation-passing styles
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The discoveries of continuations
Lisp and Symbolic Computation - Special issue on continuations—part I
Lisp and Symbolic Computation - Special issue on continuations—part I
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
A call-by-need lambda calculus
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the first ACM SIGPLAN international conference on Functional programming
MFCS '93 Proceedings of the 18th International Symposium on Mathematical Foundations of Computer Science
Proceedings of the 9th International Conference on Mathematical Foundations of Programming Semantics
A Mixed Linear and Non-Linear Logic: Proofs, Terms and Models (Extended Abstract)
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
Linear Logic, Monads and the Lambda Calculus
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Rabbit: A Compiler for Scheme
The marriage of effects and monads
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
The marriage of effects and monads
ACM Transactions on Computational Logic (TOCL)
CPS Translations and Applications: The Cube and Beyond
Higher-Order and Symbolic Computation
A First-Order One-Pass CPS Transformation
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
A sound and complete axiomatization of delimited continuations
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Call-by-value is dual to call-by-name
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
A first-order one-pass CPS transformation
Theoretical Computer Science
A judgmental reconstruction of modal logic
Mathematical Structures in Computer Science
Syntactic accidents in program analysis: on the impact of the CPS transformation
Journal of Functional Programming
CPS transformation of flow information, Part II: administrative reductions
Journal of Functional Programming
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
Journal of Functional Programming
Compiling with continuations, continued
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Undecidability of Type-Checking in Domain-Free Typed Lambda-Calculi with Existence
CSL '08 Proceedings of the 22nd international workshop on Computer Science Logic
A probabilistic language based on sampling functions
ACM Transactions on Programming Languages and Systems (TOPLAS)
CC '09 Proceedings of the 18th International Conference on Compiler Construction: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Monadic Translation of Intuitionistic Sequent Calculus
Types for Proofs and Programs
An Operational Account of Call-by-Value Minimal and Classical λ-Calculus in
TLCA '09 Proceedings of the 9th International Conference on Typed Lambda Calculi and Applications
Theoretical Computer Science
Mechanized verification of CPS transformations
LPAR'07 Proceedings of the 14th international conference on Logic for programming, artificial intelligence and reasoning
Towards a canonical classical natural deduction system
CSL'10/EACSL'10 Proceedings of the 24th international conference/19th annual conference on Computer science logic
Type checking and typability in domain-free lambda calculi
Theoretical Computer Science
Using ambient in computational reflection semantics description
ICCNMC'05 Proceedings of the Third international conference on Networking and Mobile Computing
Shrinking reductions in SML.NET
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Galois embedding from polymorphic types into existential types
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Reducibility and ⊤⊤-lifting for computation types
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Call-by-value is dual to call-by-name: reloaded
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
Call-by-value is dual to call-by-name: reloaded
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
A terminating and confluent linear lambda calculus
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
A Constructive Proof of Dependent Choice, Compatible with Classical Logic
LICS '12 Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science
Hi-index | 0.00 |
One way to model a sound and complete translation from a source calculus into a target calculus is with an adjoint or a Galois connection. In the special case of a reflection, one also has that the target calculus is isomorphic to a subset of the source. We show that three widely studied translations form reflections. We use as our source language Moggi's computational lambda calculus, which is an extension of Plotkin's call-by-value calculus. We show that Plotkin's CPS translation, Moggi's monad translation, and Girard's translation to linear logic can all be regarded as reflections form this source language, and we put forward the computational lambda calculus as a model of call-by-value computation that improves on the traditional call-by-value calculus. Our work strengthens Plotkin's and Moggi's original results and improves on recent work based on equational correspondence, which uses equations rather than reductions.