{"id":"https://openalex.org/W1992228832","doi":"https://doi.org/10.1145/1053468.1053472","title":"Automatic discovery of covariant read-only fields","display_name":"Automatic discovery of covariant read-only fields","publication_year":2005,"publication_date":"2005-01-01","ids":{"openalex":"https://openalex.org/W1992228832","doi":"https://doi.org/10.1145/1053468.1053472","mag":"1992228832"},"language":"en","primary_location":{"id":"doi:10.1145/1053468.1053472","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1053468.1053472","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1053468.1053472","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1053468.1053472","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5011356414","display_name":"Jens Palsberg","orcid":"https://orcid.org/0000-0003-4747-365X"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jens Palsberg","raw_affiliation_strings":["Purdue University, West Lafayette, IN"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, IN","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032923073","display_name":"Tian Zhao","orcid":"https://orcid.org/0000-0002-2107-9593"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tian Zhao","raw_affiliation_strings":["Purdue University, West Lafayette, IN"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, IN","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109038196","display_name":"Trevor Jim","orcid":null},"institutions":[{"id":"https://openalex.org/I1283103587","display_name":"AT&T (United States)","ror":"https://ror.org/02bbd5539","country_code":"US","type":"company","lineage":["https://openalex.org/I1283103587"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Trevor Jim","raw_affiliation_strings":["AT&amp;T Labs Research, Florham Park, NJ"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"AT&amp;T Labs Research, Florham Park, NJ","institution_ids":["https://openalex.org/I1283103587"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.102531,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"27","issue":"1","first_page":"126","last_page":"162"},"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.9997000098228455,"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.9997000098228455,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9811999797821045,"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.9713000059127808,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/subtyping","display_name":"Subtyping","score":0.8037752509117126},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7400403022766113},{"id":"https://openalex.org/keywords/covariant-transformation","display_name":"Covariant transformation","score":0.7375888228416443},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.7097448110580444},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.6591727137565613},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.623268723487854},{"id":"https://openalex.org/keywords/rule-of-inference","display_name":"Rule of inference","score":0.5481893420219421},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.5007667541503906},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4995853900909424},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.43669968843460083},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4078630208969116},{"id":"https://openalex.org/keywords/calculus","display_name":"Calculus (dental)","score":0.33905482292175293},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2170242965221405},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2002902626991272}],"concepts":[{"id":"https://openalex.org/C83852419","wikidata":"https://www.wikidata.org/wiki/Q2713292","display_name":"Subtyping","level":2,"score":0.8037752509117126},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7400403022766113},{"id":"https://openalex.org/C9136319","wikidata":"https://www.wikidata.org/wiki/Q362640","display_name":"Covariant transformation","level":2,"score":0.7375888228416443},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.7097448110580444},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.6591727137565613},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.623268723487854},{"id":"https://openalex.org/C3746660","wikidata":"https://www.wikidata.org/wiki/Q1068763","display_name":"Rule of inference","level":2,"score":0.5481893420219421},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.5007667541503906},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4995853900909424},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.43669968843460083},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4078630208969116},{"id":"https://openalex.org/C2777686260","wikidata":"https://www.wikidata.org/wiki/Q144037","display_name":"Calculus (dental)","level":2,"score":0.33905482292175293},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2170242965221405},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2002902626991272},{"id":"https://openalex.org/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0},{"id":"https://openalex.org/C199343813","wikidata":"https://www.wikidata.org/wiki/Q12128","display_name":"Dentistry","level":1,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1053468.1053472","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1053468.1053472","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1053468.1053472","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.131.8443","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.8443","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://cs.williams.edu/~kim/FOOL/papers9/palsberg.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.9.1757","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.1757","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.purdue.edu/homes/palsberg/paper/fool02.ps.gz","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/1053468.1053472","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1053468.1053472","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1053468.1053472","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"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":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.5,"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1992228832.pdf","grobid_xml":"https://content.openalex.org/works/W1992228832.grobid-xml"},"referenced_works_count":40,"referenced_works":["https://openalex.org/W1484302646","https://openalex.org/W1511998399","https://openalex.org/W1512154628","https://openalex.org/W1526736056","https://openalex.org/W1544633123","https://openalex.org/W1553455810","https://openalex.org/W1557561422","https://openalex.org/W1569918838","https://openalex.org/W1576690287","https://openalex.org/W1581913118","https://openalex.org/W1582665553","https://openalex.org/W1980939032","https://openalex.org/W2001744589","https://openalex.org/W2014387690","https://openalex.org/W2022443117","https://openalex.org/W2050084141","https://openalex.org/W2051328776","https://openalex.org/W2051981528","https://openalex.org/W2060688393","https://openalex.org/W2060688653","https://openalex.org/W2071095465","https://openalex.org/W2090415524","https://openalex.org/W2092054869","https://openalex.org/W2099905197","https://openalex.org/W2122861299","https://openalex.org/W2129286375","https://openalex.org/W2130881558","https://openalex.org/W2132461225","https://openalex.org/W2133147697","https://openalex.org/W2137417304","https://openalex.org/W2156211387","https://openalex.org/W2164104198","https://openalex.org/W2293278021","https://openalex.org/W2316710911","https://openalex.org/W2561675875","https://openalex.org/W2748837517","https://openalex.org/W3142621357","https://openalex.org/W4213035808","https://openalex.org/W6633355477","https://openalex.org/W6663242908"],"related_works":["https://openalex.org/W3027723509","https://openalex.org/W2563592207","https://openalex.org/W4298104918","https://openalex.org/W2552165488","https://openalex.org/W1510917942","https://openalex.org/W1810290248","https://openalex.org/W1595983599","https://openalex.org/W1507723317","https://openalex.org/W2060688393","https://openalex.org/W2733168542"],"abstract_inverted_index":{"Read-only":[0],"fields":[1,41,65,102],"are":[2,46,66,103],"useful":[3],"in":[4,63,84,99],"object":[5,61],"calculi,":[6,8],"pi":[7],"and":[9,28,80,135,143],"statically":[10],"typed":[11],"intermediate":[12,32],"languages":[13],"because":[14],"they":[15],"admit":[16],"covariant":[17,37],"subtyping,":[18],"unlike":[19],"updateable":[20,70,108],"fields.":[21],"For":[22],"example,":[23],"Glew's":[24],"translation":[25],"of":[26,39,131,140],"classes":[27],"objects":[29],"to":[30,42,48,128],"an":[31,59],"calculus":[33,62,98],"relies":[34],"crucially":[35],"on":[36],"subtyping":[38],"read-only":[40],"ensure":[43],"that":[44,123],"subclasses":[45],"translated":[47],"subtypes.In":[49],"this":[50,136],"article,":[51],"we":[52],"present":[53],"a":[54],"type":[55,75,118,124,133],"inference":[56,76,119,125],"algorithm":[57,82,142],"for":[58,96],"Abadi--Cardelli":[60],"which":[64,100],"marked":[67],"either":[68],"as":[69,72,107],"or":[71,109],"read-only.":[73],"The":[74,91],"problem":[77,130],"is":[78,126],"P-complete,":[79],"our":[81,141],"runs":[83],"O":[85],"(":[86],"n":[87],"3":[88],")":[89],"time.":[90],"same":[92],"complexity":[93],"results":[94],"hold":[95],"the":[97,101,113,129,138],"not":[104,116],"explicitly":[105],"annotated":[106],"read-only;":[110],"perhaps":[111],"surprisingly,":[112],"annotations":[114],"do":[115],"make":[117],"easier.":[120],"We":[121],"show":[122],"equivalent":[127],"solving":[132],"constraints,":[134],"forms":[137],"core":[139],"implementation.":[144]},"counts_by_year":[{"year":2013,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
