Abstract
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.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Avigad, J., Zach, R.: The epsilon calculus. In the Stanford Encyclopedia of Philosophy, version of May 3 (2002) on the web at, http://plato.stanford.edu/entries/epsilon-calculus ,
Cardelli, L.: Program fragments, linking, and modularization. In: Conference Record of POPL 1997: The 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January15–17 pp. 266–277 (1997)
Cardelli, L.: Type systems. In: Tucker, A.B. (ed.) The Computer Science and Engineering Handbook, ch. 103, pp. 2208–2236. CRC Press, Boca Raton (1997)
Cardelli, L., Leroy, X.: Abstract types and the dot notation. In: Proceedings of the IFIP TC2 Working Conference on Programming Concepts and Methods, North Holland, pp. 479–504 (1990)
Dean, D.: The security of static typing with dynamic linking. In: Proceedings of the Fourth ACM Conference on Computer and Communications Security, pp. 18–27 (1997)
Drossopoulou, S., Eisenbach, S., Wragg, D.: A fragment calculus— towards a model of separate compilation, linking and binary compatibility. In: Proceedings of the 14th Annual IEEE Symposium on Logic in Computer Science, pp. 147–156 (1999)
Drossopoulou, S., Lagorio, G., Eisenbach, S.: Flexible models for dynamic linking. In: Degano, P. (ed.) ESOP 2003. LNCS, vol. 2618, pp. 38–53. Springer, Heidelberg (2003)
Flannagan, T.B.: On an extension of Hilbert’s second ε-theorem. Journal of Symbolic Logic 40(3), 393–397 (1975)
Girard, J.-Y.: Interprétation Fonctionnelle et Elimination des Coupures de l’Arithmétique d’Ordre Supérieur. Thèse de doctorat d’état, Université Paris VII (June 1972)
Glew, N., Morrisett, G.: Type safe linking and modular assembly language. In: Conference Record of POPL 1999: 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 250–261 (January 1999)
Harper, R., Mitchell, J.C.: Parametricity and variants of Girard’s J operator. Information Processing Letters 70(1), 1–5 (1999)
Hicks, M., Weirich, S., Crary, K.: Safe and flexible dynamic linking of native code. In: Harper, R. (ed.) TIC 2000. LNCS, vol. 2071, Springer, Heidelberg (2001)
Krivine, J.-L.: Two talks about specifications and objects. Lectures at TYPES Spring School (March 2002)
Leisenring, C.: Mathematical Logic and Hilbert’s ε-Symbol. Gordon and Breach Science Publishers, New York (1969)
Leivant, D.: Existential instantiation in a system of natural deduction for intuitionistic arithmetics. Technical report, Stichting Mathematisch Centrum. Note ZW 13/73
Mints, G.: Heyting predicate calculus with epsilon-symbol. Journal of Soviet Mathematics 8, 317–323 (1977); Preprint provided by the author with an indication that the paper appeared in Selected Papers in Proof Theory
Mints, G.: Strong termination for the epsilon substitution method. Journal of Symbolic Logic 61(4), 1193–1205 (1996)
Mints, G.: Private communication (2000)
Mitchell, J.C., Plotkin, G.D.: Abstract types have existential type. In: Proceedings of the Twelfth Annual ACM Symposium on Principles of Programming Languages, pp. 37–51 (1985)
Nelson, G. (ed.): Systems Programming in Modula-3. Prentice Hall, Englewood Cliffs (1991)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Abadi, M., Gonthier, G., Werner, B. (2004). Choice in Dynamic Linking. In: Walukiewicz, I. (eds) Foundations of Software Science and Computation Structures. FoSSaCS 2004. Lecture Notes in Computer Science, vol 2987. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24727-2_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-24727-2_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21298-0
Online ISBN: 978-3-540-24727-2
eBook Packages: Springer Book Archive