A formulae-as-type notion of control
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fully abstract translations between functional languages
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Notions of computation and monads
Information and Computation
Logic programming in the LF logical framework
Logical frameworks
Two-level functional languages
Two-level functional languages
CPS-transformation after strictness analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
Separating stages in the continuation-passing style transformation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Reasoning about programs in continuation-passing style
Lisp and Symbolic Computation - Special issue on continuations—part I
Polymorphic type assignment and CPS conversion
Lisp and Symbolic Computation - Special issue on continuations—part I
The structure of continuation-passing styles
The structure of continuation-passing styles
Thunks: a way of compiling procedure statements with some comments on procedure declarations
Communications of the ACM
The New Hacker's Dictionary
Lambda-My-Calculus: An Algorithmic Interpretation of Classical Natural Deduction
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
On the Relation between Direct and Continuation Semantics
Proceedings of the 2nd Colloquium on Automata, Languages and Programming
WSA '93 Proceedings of the Third International Workshop on Static Analysis
A CPS-Translation of the Lambda-µ-Calculus
CAAP '94 Proceedings of the 19th International Colloquium on Trees in Algebra and Programming
Continuation Semantics in Typed Lambda-Calculi (Summary)
Proceedings of the Conference on Logic of Programs
Rabbit: A Compiler for Scheme
Extracting constructive content from classical proofs
Extracting constructive content from classical proofs
Dynamic typing as staged type inference
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The π-Calculus in Direct Style
Higher-Order and Symbolic Computation
Using a Continuation Twice and Its Implications for the Expressive Power of call/cc
Higher-Order and Symbolic Computation
Call-by-Push-Value: A Subsuming Paradigm
TLCA '99 Proceedings of the 4th International Conference on Typed Lambda Calculi and Applications
Proving Syntactic Properties of Exceptions in an Ordered Logical Framework
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
A Higher-Order Colon Translation
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Strong Normalization from Weak Normalization by Translation into the Lambda-I-Calculus
Higher-Order and Symbolic Computation
From λ to π; or, Rediscovering continuations
Mathematical Structures in Computer Science
On the call-by-value CPS transform and its semantics
Information and Computation
Higher-order beta matching with solutions in long beta-eta normal form
Nordic Journal of Computing - Selected papers of the 17th nordic workshop on programming theory (NWPT'05), October 19-21, 2005
Call-by-push-value: Decomposing call-by-value and call-by-name
Higher-Order and Symbolic Computation
Amb Breaks Well-Pointedness, Ground Amb Doesn't
Electronic Notes in Theoretical Computer Science (ENTCS)
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
Extending the loop language with higher-order procedural variables
ACM Transactions on Computational Logic (TOCL)
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Hi-index | 0.00 |
Thirty-five years ago, thunks were used to simulate call-by-name under call-by-value in Algol 60. Twenty years ago, Plotkin presented continuation-based simulations of call-by-name under call-by-value and vice versa in the λ-calculus. We connect all three of these classical simulations by factorizing the continuation-based call-by-name simulation 𝒞n with a thunk-based call-by-name simulation 𝒯 followed by the continuation-based call-by-value simulation 𝒞v, extended to thunks.formula hereWe show that 𝒯 actually satisfies all of Plotkin's correctness criteria for 𝒞n (i.e. his Indifference, Simulation and Translation theorems). Furthermore, most of the correctness theorems for 𝒞n can now be seen as simple corollaries of the corresponding theorems for 𝒞v and 𝒯.