Oopsla23 Structural Subtyping As Parametric Polymorphism
Parametric Subtyping For Structural Parametric Polymorphism Deepai We focus our investigation on establishing the extent to which parametric polymorphism, in the form of row and presence polymorphism, can encode structural subtyping for variant and record types. We prove that simple subtyping can be expressed as row polymorphism for variants and pres ence polymorphism for records by way of local type only translations (sections 4.2 and 4.4).
Structural Subtyping As Parametric Polymorphism Deepai New abstract structural subtyping and parametric polymorphism provide similar flexibility and reusability to programmers. for example, both features enable the programmer to provide a wider record as an argument to a function that expects a narrower one. however, the means by which they do so differs substantially, and the precise details of the. Row polymorphism is a form of parametric polymorphism that allows us to abstract over the extension of a row. intuitively, by abstracting over the possible extension of a variant or record we can simulate the act of substitution realised by structural subtyping. In this paper, we systematically study the relative expressive power of structural subtyping and parametric polymorphism. Record variant subtyping vs row presence polymorphism “the definitional power of these two systems is incomparable.” 1 “row variables and subtyping complement one another.” 2 “subtyping is in fact a poor man’s row polymorphism.” 3.
Parametric Subtyping For Structural Parametric Polymorphism Sigplan Blog In this paper, we systematically study the relative expressive power of structural subtyping and parametric polymorphism. Record variant subtyping vs row presence polymorphism “the definitional power of these two systems is incomparable.” 1 “row variables and subtyping complement one another.” 2 “subtyping is in fact a poor man’s row polymorphism.” 3. We focus our investigation on establishing the extent to which parametric polymorphism, in the form of row and presence polymorphism, can encode structural subtyping for variant and record types. We present and prove correct an effective saturation based decision procedure for parametric subtyping, demonstrating its applicability using a variety of examples. we also provide an implementation of this decision procedure as an artifact. Explore a 17 minute conference talk from oopsla2 2023 that delves into the relationship between structural subtyping and parametric polymorphism in programming languages. Leveraging the structure of the forward inference algorithm for deciding structural subtyping of monomorphic types presented in the preceding section, we will now present a related algorithm for deciding parametric subtyping of polymorphic types.
Parametric Subtyping For Structural Parametric Polymorphism Sigplan Blog We focus our investigation on establishing the extent to which parametric polymorphism, in the form of row and presence polymorphism, can encode structural subtyping for variant and record types. We present and prove correct an effective saturation based decision procedure for parametric subtyping, demonstrating its applicability using a variety of examples. we also provide an implementation of this decision procedure as an artifact. Explore a 17 minute conference talk from oopsla2 2023 that delves into the relationship between structural subtyping and parametric polymorphism in programming languages. Leveraging the structure of the forward inference algorithm for deciding structural subtyping of monomorphic types presented in the preceding section, we will now present a related algorithm for deciding parametric subtyping of polymorphic types.
Parametric Subtyping For Structural Parametric Polymorphism Sigplan Blog Explore a 17 minute conference talk from oopsla2 2023 that delves into the relationship between structural subtyping and parametric polymorphism in programming languages. Leveraging the structure of the forward inference algorithm for deciding structural subtyping of monomorphic types presented in the preceding section, we will now present a related algorithm for deciding parametric subtyping of polymorphic types.
Comments are closed.