Disjunctive normal forms and local exceptions
Résumé
Within a classical call-by-name λ-calculus, we prove, using Krivine's realizability, that all terms typable with disjunctive normal forms (disjunctions of conjunctions of literals) share a common computational behaviour: they implement a multi-exception handling mechanism whose exact workings depend on the tautology. By using dynamic binding, we are able to define equivalent and more efficient primitive control combinators, which are neatly described through a specialized sequent calculus, and are correct in the sense that they realize the intended associated tautology.