Item request has been placed! ×
Item request cannot be made. ×
loading  Processing Request

Two Parametricities Versus Three Universal Types

Item request has been placed! ×
Item request cannot be made. ×
loading   Processing Request
  • معلومة اضافية
    • Contributors:
      Devriese, Dominique; Patrignani, Marco; Piessens, Frank
    • الموضوع:
      2022
    • Collection:
      Università degli Studi di Trento: CINECA IRIS
    • نبذة مختصرة :
      The formal calculus SystemF models the essence of polymorphism and abstract data types, features that exist in many programming languages. The calculus’ core property is parametricity: a theorem expressing the language’s abstractions and validating important principles like information hiding and modularity.When SystemF is combined with features like recursive types, mutable state, continuations or exceptions, the formulation of parametricity needs to be adapted to follow suit, for example using techniques like step-indexing, Kripke world-indexing or biorthogonality. However, it is less clear how this formulation should change when SystemF is combined with untyped languages, gradual types, dynamic sealing and runtime type analysis (typecase) alongside type generation. Extensions of SystemF with these features have been proven to satisfy forms of parametricity (with Kripke worlds carrying semantic interpretations of types). However, the relative power of the modified formulations of parametricity with respect to others and the relative expressiveness of SystemF with and without these extensions are unknown.In this paper, we explain that the aforementioned different settings have a common characteristic: they do not enforce or preserve the lexical scope of SystemF’s type variables. Formally, this results in the existence of a universal type (note: this is not the same as a universally-quantified type). We explain why standard parametricity is incompatible with such a type and how type worlds resolve this. Building on these insights, we answer two open conjectures from the literature, negatively, and we point out a deficiency in current proposals for combining SystemF with gradual types.
    • Relation:
      info:eu-repo/semantics/altIdentifier/wos/WOS:000910732700003; volume:44; issue:4; firstpage:2301; lastpage:2343; numberofpages:43; journal:ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS; https://hdl.handle.net/11572/362402; info:eu-repo/semantics/altIdentifier/scopus/2-s2.0-85146434215
    • الرقم المعرف:
      10.1145/3539657
    • Rights:
      info:eu-repo/semantics/openAccess
    • الرقم المعرف:
      edsbas.5BF5B26A