A formulae-as-type notion of control
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lisp and Symbolic Computation
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
A symmetric lambda calculus for classical program extraction
Information and Computation - special issue: symposium on theoretical aspects of computer software TACS '94
A Curry-Howard foundation for functional computation with control
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Types and programming languages
Types and programming languages
Lambda-My-Calculus: An Algorithmic Interpretation of Classical Natural Deduction
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Completeness of continuation models for λµ-calculus
Information and Computation - Special issue: LICS'97
Call-by-value is dual to call-by-name
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Control categories and duality: on the categorical semantics of the lambda-mu calculus
Mathematical Structures in Computer Science
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
Dual Calculus with Inductive and Coinductive Types
RTA '09 Proceedings of the 20th International Conference on Rewriting Techniques and Applications
Hi-index | 0.00 |
We extend Wadler's work that showed duality between call-by-value and call-by-name by giving mutual translations between the λµ-calculus and the dual calculus. We extend the λµ-calculus and the dual calculus through two stages. We first add a fixed-point operator and an iteration operator to the call-byname and call-by-value systems respectively. Secondly, we add recursive types, T, and ⊥ types to these systems. The extended duality between call-byname with recursion and call-by-value with iteration has been suggested by Kakutani. He followed Selinger's category-theoretic approach. We completely follow Wadler's syntactic approach. We give mutual translations between our extended λµ-calculus and dual calculus by extending Wadler's translations, and also show that our translations form an equational correspondence, which was defined by Sabry and Felleisen. By composing our translations with duality on the dual calculus, we obtain a duality on our extended λµ-calculus. Wadler's duality on the λµ-calculus was an involution, and our duality on our extended λµ-calculus is also an involution.