---
res:
  bibo_abstract:
  - "Gradual typing is a principled means for mixing typed and untyped code. But typed
    and untyped code often exhibit different programming patterns. There is already
    substantial research investigating gradually giving types to code exhibiting typical
    untyped patterns, and some research investigating gradually removing types from
    code exhibiting typical typed patterns. This paper investigates how to extend
    these established gradual-typing concepts to give formal guarantees not only about
    how to change types as code evolves but also about how to change such programming
    patterns as well.\r\n\r\nIn particular, we explore mixing untyped \"structural\"
    code with typed \"nominal\" code in an object-oriented language. But whereas previous
    work only allowed \"nominal\" objects to be treated as \"structural\" objects,
    we also allow \"structural\" objects to dynamically acquire certain nominal types,
    namely interfaces. We present a calculus that supports such \"cross-paradigm\"
    code migration and interoperation in a manner satisfying both the static and dynamic
    gradual guarantees, and demonstrate that the calculus can be implemented efficiently.@eng"
  bibo_authorlist:
  - foaf_Person:
      foaf_givenName: Fabian
      foaf_name: Mühlböck, Fabian
      foaf_surname: Mühlböck
      foaf_workInfoHomepage: http://www.librecat.org/personId=6395C5F6-89DF-11E9-9C97-6BDFE5697425
    orcid: 0000-0003-1548-0177
  - foaf_Person:
      foaf_givenName: Ross
      foaf_name: Tate, Ross
      foaf_surname: Tate
  bibo_doi: 10.1145/3485504
  bibo_volume: 5
  dct_date: 2021^xs_gYear
  dct_isPartOf:
  - http://id.crossref.org/issn/2475-1421
  dct_language: eng
  dct_publisher: Association for Computing Machinery@
  dct_subject:
  - gradual typing
  - gradual guarantee
  - nominal
  - structural
  - call tags
  dct_title: Transitioning from structural to nominal code with efficient gradual
    typing@
...
