{"id":"https://openalex.org/W3207374977","doi":"https://doi.org/10.1145/3485504","title":"Transitioning from structural to nominal code with efficient gradual typing","display_name":"Transitioning from structural to nominal code with efficient gradual typing","publication_year":2021,"publication_date":"2021-10-15","ids":{"openalex":"https://openalex.org/W3207374977","doi":"https://doi.org/10.1145/3485504","mag":"3207374977"},"language":"en","primary_location":{"id":"doi:10.1145/3485504","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485504","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485504","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3485504","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5001324851","display_name":"Fabian Muehlboeck","orcid":"https://orcid.org/0000-0003-1548-0177"},"institutions":[{"id":"https://openalex.org/I157556583","display_name":"Institute of Science and Technology Austria","ror":"https://ror.org/03gnh5541","country_code":"AT","type":"education","lineage":["https://openalex.org/I157556583"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Fabian Muehlboeck","raw_affiliation_strings":["IST Austria, Austria"],"raw_orcid":"https://orcid.org/0000-0003-1548-0177","affiliations":[{"raw_affiliation_string":"IST Austria, Austria","institution_ids":["https://openalex.org/I157556583"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001655224","display_name":"Ross Tate","orcid":"https://orcid.org/0000-0002-7608-4605"},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ross Tate","raw_affiliation_strings":["Cornell University, USA"],"raw_orcid":"https://orcid.org/0000-0002-7608-4605","affiliations":[{"raw_affiliation_string":"Cornell University, USA","institution_ids":["https://openalex.org/I205783295"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.536,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.73545376,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"5","issue":"OOPSLA","first_page":"1","last_page":"29"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9987999796867371,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9983000159263611,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9904000163078308,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7998261451721191},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.750069260597229},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5867980122566223},{"id":"https://openalex.org/keywords/interoperation","display_name":"Interoperation","score":0.48056939244270325},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4528350830078125},{"id":"https://openalex.org/keywords/object-code","display_name":"Object code","score":0.45079898834228516},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.25167861580848694},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.11071699857711792},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.09780478477478027}],"concepts":[{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7998261451721191},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.750069260597229},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5867980122566223},{"id":"https://openalex.org/C139458680","wikidata":"https://www.wikidata.org/wiki/Q12184942","display_name":"Interoperation","level":3,"score":0.48056939244270325},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4528350830078125},{"id":"https://openalex.org/C154526789","wikidata":"https://www.wikidata.org/wiki/Q157965","display_name":"Object code","level":4,"score":0.45079898834228516},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.25167861580848694},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.11071699857711792},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.09780478477478027},{"id":"https://openalex.org/C20136886","wikidata":"https://www.wikidata.org/wiki/Q749647","display_name":"Interoperability","level":2,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3485504","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485504","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485504","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:openresearch-repository.anu.edu.au:1885/733809099","is_oa":true,"landing_page_url":"https://hdl.handle.net/1885/733809099","pdf_url":"https://openresearch-repository.anu.edu.au/bitstreams/c1361d5b-3703-4080-9307-8836ab06ae94/download","source":{"id":"https://openalex.org/S4306402539","display_name":"ANU Open Research (Australian National University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I118347636","host_organization_name":"Australian National University","host_organization_lineage":["https://openalex.org/I118347636"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"Journal article"}],"best_oa_location":{"id":"doi:10.1145/3485504","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485504","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485504","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.7599999904632568,"display_name":"Reduced inequalities","id":"https://metadata.un.org/sdg/10"}],"awards":[{"id":"https://openalex.org/G6194855309","display_name":"CAREER: Gradual Typing for Industry Programming","funder_award_id":"1350182","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G799444927","display_name":null,"funder_award_id":"Z211\u2010N23","funder_id":"https://openalex.org/F4320321181","funder_display_name":"Austrian Science Fund"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320321181","display_name":"Austrian Science Fund","ror":"https://ror.org/013tf3c58"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3207374977.pdf","grobid_xml":"https://content.openalex.org/works/W3207374977.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W753900477","https://openalex.org/W1562991736","https://openalex.org/W1995008247","https://openalex.org/W2003969655","https://openalex.org/W2050362115","https://openalex.org/W2052973434","https://openalex.org/W2058639022","https://openalex.org/W2108141856","https://openalex.org/W2111531191","https://openalex.org/W2284690928","https://openalex.org/W2295283668","https://openalex.org/W2295415424","https://openalex.org/W2561856298","https://openalex.org/W2621005330","https://openalex.org/W2760972573","https://openalex.org/W2762605937","https://openalex.org/W2764150781","https://openalex.org/W2776911292","https://openalex.org/W2886526538","https://openalex.org/W2898188067","https://openalex.org/W2900045822","https://openalex.org/W2955672207","https://openalex.org/W2964500203","https://openalex.org/W3116525202","https://openalex.org/W3137596000","https://openalex.org/W4229717394","https://openalex.org/W4245120671","https://openalex.org/W6950151250"],"related_works":["https://openalex.org/W1971559523","https://openalex.org/W45961263","https://openalex.org/W1975274691","https://openalex.org/W2042804080","https://openalex.org/W2181665179","https://openalex.org/W1535598423","https://openalex.org/W2913688203","https://openalex.org/W1583027601","https://openalex.org/W38165312","https://openalex.org/W23483625"],"abstract_inverted_index":{"Gradual":[0],"typing":[1],"is":[2,23],"a":[3,130,141],"principled":[4],"means":[5],"for":[6],"mixing":[7,89],"typed":[8,13,48,94],"and":[9,14,37,138,147,151],"untyped":[10,15,35,90],"code.":[11],"But":[12,101],"code":[16,32,45,72,92,96,136],"often":[17],"exhibit":[18],"different":[19],"programming":[20,81],"patterns.":[21,49],"There":[22],"already":[24],"substantial":[25],"research":[26,39],"investigating":[27,40],"gradually":[28,41],"giving":[29],"types":[30,43,70],"to":[31,54,60,68,78,109,120],"exhibiting":[33,46],"typical":[34,47],"patterns,":[36],"some":[38],"removing":[42],"from":[44],"This":[50],"paper":[51],"investigates":[52],"how":[53,67,77],"extend":[55],"these":[56],"established":[57],"gradual-typing":[58],"concepts":[59],"give":[61],"formal":[62],"guarantees":[63],"not":[64],"only":[65,105],"about":[66,76],"change":[69,79],"as":[71,83,112],"evolves":[73],"but":[74],"also":[75,116],"such":[80,134],"patterns":[82],"well.":[84],"In":[85],"particular,":[86],"we":[87,115],"explore":[88],"\"structural\"":[91,113,118],"with":[93],"\"nominal\"":[95,107],"in":[97,140],"an":[98],"object-oriented":[99],"language.":[100],"whereas":[102],"previous":[103],"work":[104],"allowed":[106],"objects":[108,119],"be":[110,157],"treated":[111],"objects,":[114],"allow":[117],"dynamically":[121],"acquire":[122],"certain":[123],"nominal":[124],"types,":[125],"namely":[126],"interfaces.":[127],"We":[128],"present":[129],"calculus":[131,155],"that":[132,153],"supports":[133],"\"cross-paradigm\"":[135],"migration":[137],"interoperation":[139],"manner":[142],"satisfying":[143],"both":[144],"the":[145,154],"static":[146],"dynamic":[148],"gradual":[149],"guarantees,":[150],"demonstrate":[152],"can":[156],"implemented":[158],"efficiently.":[159]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1}],"updated_date":"2026-08-06T08:24:18.245995","created_date":"2025-10-10T00:00:00"}
