A System F with Call-by-Name Exceptions

  • Authors:
  • Sylvain Lebresne

  • Affiliations:
  • Preuves, Programmes et Systèmes (PPS), CNRS, Université Paris 7, Paris, France and Projet Logical, LIX, École Polytechnique, Palaiseau, France

  • Venue:
  • ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present an extension of System F with call-by-name exceptions. The type system is enriched with two syntactic constructs: a union type $A {\rlap{{*}}\cup} \{\varepsilon\}$ for programs of type Awhose execution may raise the exception 茂戮驴at top level, and a corruption typeA(茂戮驴)for programs that may raise the exception 茂戮驴in any evaluation context (not necessarily at top level). We present the syntax and reduction rules of the system, as well as its typing and subtyping rules. We then study its properties, such as confluence. Finally, we construct a realizability model using orthogonality techniques, from which we deduce that well-typed programs are weakly normalizing and that the ones who have the type of natural numbers really compute a natural number, without raising exceptions.