Proofs and types
A formulae-as-type notion of control
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A generalization of exceptions and control in ML-like languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Theories of programming languages
Theories of programming languages
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
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 the Lambda-Mu-Calculus and the Syntactic Theory of Sequential Control
LPAR '94 Proceedings of the 5th International Conference on Logic Programming and Automated Reasoning
Disjunctive Tautologies as Synchronisation Schemes
Proceedings of the 14th Annual Conference of the EACSL on Computer Science Logic
Characterizing strong normalization in a language with control operators
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Strong normalization of the dual classical sequent calculus
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Hi-index | 0.00 |
We describe simple call-by-value and call-by-name abstract machines, expressed with the help of Felleisen's evaluation contexts, for a toy functional language. Then we add a simple control operator and extend the abstract machines accordingly. We give some examples of their use. Then, restricting our attention to the sole core (typed) 驴-calculus fragment augmented with the control operator, we give a logical status to the machinery. Evaluation contexts are typed "on the left", as they are directed towards their hole, or their input, in contrast to terms, whose type is that of their output. A machine state consists of a term and a context, and corresponds logically to a cut between a formula on the left (context) and a formula on the right (term). Evaluation, viewed logically, is cut-elimination: this is the essence of the so-called Curry-Howard isomorphism. Control operators correspond to classical reasoning principles, as was first observed by Griffin.