Theoretical Computer Science
A formulae-as-type notion of control
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concurrent programming in ML
Lambda-My-Calculus: An Algorithmic Interpretation of Classical Natural Deduction
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
System Description: Twelf - A Meta-Logical Framework for Deductive Systems
CADE-16 Proceedings of the 16th International Conference on Automated Deduction: Automated Deduction
Classical Proofs as Programs: How, What and Why
Classical Proofs as Programs: How, What and Why
Call-by-value is dual to call-by-name
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
A Symmetric Modal Lambda Calculus for Distributed Computing
LICS '04 Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science
A modal type system for multi-level generating extensions with persistent code
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Mechanizing metatheory in a logical framework
Journal of Functional Programming
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
The Logic of Proofs as a Foundation for Certifying Mobile Computation
LFCS '09 Proceedings of the 2009 International Symposium on Logical Foundations of Computer Science
A substructural type system for delimited continuations
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Delimited continuations in operating systems
CONTEXT'07 Proceedings of the 6th international and interdisciplinary conference on Modeling and using context
Type-safe distributed programming with ML5
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
Hi-index | 0.00 |
In previous work we presented a foundational calculus for spatially distributed computing based on intuitionistic modal logic. With the modalities □ and $\Diamond$ we were able to capture two key invariants: the mobility of portable code and the locality of fixed resources. This work investigates issues in distributed control flow through a similar propositions-as-types interpretation of classical modal logic. The resulting programming language is enhanced with the notion of a network-wide continuation, through which we can give computational interpretation of classical theorems (such as $\Box A \equiv \lnot \Diamond \lnot A$). Such continuations are also useful primitives for building higher-level constructs of distributed computing. The resulting system is elegant, logically faithful, and computationally reasonable.