Computational lambda-calculus and monads
Proceedings of the Fourth Annual Symposium on Logic in computer science
Notions of computation and monads
Information and Computation
Research topics in functional programming
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
The structure of continuation-passing styles
The structure of continuation-passing styles
Inductive, coinductive, and pointed types
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Operational reasoning for functions with local state
Higher order operational techniques in semantics
A fully abstract semantics for a higher-order functional language with nondeterministic computation
Theoretical Computer Science - Special issue on mathematical foundations of programming semantics
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
Possible World Semantics for General Storage in Call-By-Value
CSL '02 Proceedings of the 16th International Workshop and 11th Annual Conference of the EACSL 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
Control categories and duality: on the categorical semantics of the lambda-mu calculus
Mathematical Structures in Computer Science
Classical logic, continuation semantics and abstract machines
Journal of Functional Programming
Journal of Functional Programming
Call-By-Push-Value: A Functional/Imperative Synthesis (Semantics Structures in Computation, V. 2)
Call-By-Push-Value: A Functional/Imperative Synthesis (Semantics Structures in Computation, V. 2)
ICALP'06 Proceedings of the 33rd international conference on Automata, Languages and Programming - Volume Part II
Amb Breaks Well-Pointedness, Ground Amb Doesn't
Electronic Notes in Theoretical Computer Science (ENTCS)
On the relations between monadic semantics
Theoretical Computer Science
Realizability Semantics of Parametric Polymorphism, General References, and Recursive Types
FOSSACS '09 Proceedings of the 12th International Conference on Foundations of Software Science and Computational Structures: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Realisability semantics of parametric polymorphism, general references and recursive types
Mathematical Structures in Computer Science
Hi-index | 0.00 |
We present the call-by-push-value (CBPV) calculus, which decomposes the typed call-by-value (CBV) and typed call-by-name (CBN) paradigms into fine-grain primitives. On the operational side, we give big-step semantics and a stack machine for CBPV, which leads to a straightforward push/pop reading of CBPV programs. On the denotational side, we model CBPV using cpos and, more generally, using algebras for a strong monad. For storage, we present an O'Hearn-style "behaviour semantics'' that does not use a monad.We present the translations from CBN and CBV to CBPV. All these translations straightforwardly preserve denotational semantics. We also study their operational properties: simulation and full abstraction.We give an equational theory for CBPV, and show it equivalent to a categorical semantics using monads and algebras. We use this theory to formally compare CBPV to Filinski's variant of the monadic metalanguage, as well as to Marz's language SFPL, both of which have essentially the same type structure as CBPV. We also discuss less formally the differences between the CBPV and monadic frameworks.