Foundations of Software Science and Computation Structures

Volume 2987 of the series Lecture Notes in Computer Science pp 12-26

Choice in Dynamic Linking

  • Martín AbadiAffiliated withUniversity of California at Santa Cruz
  • , Georges GonthierAffiliated withMicrosoft Research
  • , Benjamin WernerAffiliated withINRIA – Futurs and LIX, Projet LogiCal, Pôle Commun de Recherche en Informatique du Plateau de Saclay, INRIA, CNRS, E. Polytechnique et U. Paris-Sud


We introduce a computational interpretation for Hilbert’s choice operator (ε). This interpretation yields a typed foundation for dynamic linking in software systems. The use of choice leads to interesting difficulties—some known from proof theory and others specific to the programming-language perspective that we develop. We therefore emphasize an important special case, restricting the nesting of choices. We define and investigate operational semantics. Interestingly, computation does not preserve types but it is type-sound.