{"id":"https://openalex.org/W1139630157","doi":"https://doi.org/10.1017/s0956796816000265","title":"Correctness of compiling polymorphism to dynamic typing","display_name":"Correctness of compiling polymorphism to dynamic typing","publication_year":2016,"publication_date":"2016-12-12","ids":{"openalex":"https://openalex.org/W1139630157","doi":"https://doi.org/10.1017/s0956796816000265","mag":"1139630157"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796816000265","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796816000265","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/AE529D08033550814B59D305CCE5A6A2/S0956796816000265a.pdf/div-class-title-correctness-of-compiling-polymorphism-to-dynamic-typing-a-href-afn1-ref-type-fn-a-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/AE529D08033550814B59D305CCE5A6A2/S0956796816000265a.pdf/div-class-title-correctness-of-compiling-polymorphism-to-dynamic-typing-a-href-afn1-ref-type-fn-a-div.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5062231390","display_name":"Kuen-Bang Hou","orcid":"https://orcid.org/0000-0002-2310-3673"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"KUEN-BANG HOU (Favonia)","raw_affiliation_strings":["Carnegie Mellon University Pittsburgh, PA, USA (e-mail:","Carnegie Mellon University. Pittsburgh"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University Pittsburgh, PA, USA (e-mail:","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Carnegie Mellon University. Pittsburgh","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5023252122","display_name":"Nick Benton","orcid":null},"institutions":[{"id":"https://openalex.org/I1290206253","display_name":"Microsoft (United States)","ror":"https://ror.org/00d0nc645","country_code":"US","type":"company","lineage":["https://openalex.org/I1290206253"]},{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB","US"],"is_corresponding":false,"raw_author_name":"NICK BENTON","raw_affiliation_strings":["Microsoft Research Cambridge, Cambridgeshire, United Kingdom (e-mail:","Microsoft , USA "],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research Cambridge, Cambridgeshire, United Kingdom (e-mail:","institution_ids":["https://openalex.org/I4210164937"]},{"raw_affiliation_string":"Microsoft , USA ","institution_ids":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5028720578","display_name":"Robert Harper","orcid":"https://orcid.org/0000-0002-9400-2941"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"ROBERT HARPER","raw_affiliation_strings":["Carnegie Mellon University Pittsburgh, PA, USA (e-mail:","Carnegie Mellon University. Pittsburgh"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University Pittsburgh, PA, USA (e-mail:","institution_ids":["https://openalex.org/I74973139"]},{"raw_affiliation_string":"Carnegie Mellon University. Pittsburgh","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5062231390"],"corresponding_institution_ids":["https://openalex.org/I74973139"],"apc_list":null,"apc_paid":null,"fwci":1.3252,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.86448795,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"27","issue":null,"first_page":null,"last_page":null},"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.9976000189781189,"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.9976000189781189,"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/T10215","display_name":"Semantic Web and Ontologies","score":0.9865999817848206,"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.9764000177383423,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.849839448928833},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.763009786605835},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.7446784377098083},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.6145164370536804},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.612846314907074},{"id":"https://openalex.org/keywords/terminology","display_name":"Terminology","score":0.6065314412117004},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.4868018329143524},{"id":"https://openalex.org/keywords/system-f","display_name":"System F","score":0.46420368552207947},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.4423360824584961},{"id":"https://openalex.org/keywords/combinatory-logic","display_name":"Combinatory logic","score":0.43450745940208435},{"id":"https://openalex.org/keywords/exception-handling","display_name":"Exception handling","score":0.4283120930194855},{"id":"https://openalex.org/keywords/typing","display_name":"Typing","score":0.4229887127876282},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.42034047842025757},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.4153302311897278},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3364788293838501},{"id":"https://openalex.org/keywords/lambda-calculus","display_name":"Lambda calculus","score":0.31608718633651733},{"id":"https://openalex.org/keywords/linguistics","display_name":"Linguistics","score":0.1764216125011444},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.15624502301216125}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.849839448928833},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.763009786605835},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.7446784377098083},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.6145164370536804},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.612846314907074},{"id":"https://openalex.org/C547195049","wikidata":"https://www.wikidata.org/wiki/Q1725664","display_name":"Terminology","level":2,"score":0.6065314412117004},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.4868018329143524},{"id":"https://openalex.org/C55128367","wikidata":"https://www.wikidata.org/wiki/Q2552799","display_name":"System F","level":3,"score":0.46420368552207947},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.4423360824584961},{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.43450745940208435},{"id":"https://openalex.org/C145428669","wikidata":"https://www.wikidata.org/wiki/Q471748","display_name":"Exception handling","level":2,"score":0.4283120930194855},{"id":"https://openalex.org/C2781209916","wikidata":"https://www.wikidata.org/wiki/Q3215756","display_name":"Typing","level":2,"score":0.4229887127876282},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.42034047842025757},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.4153302311897278},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3364788293838501},{"id":"https://openalex.org/C135790938","wikidata":"https://www.wikidata.org/wiki/Q242028","display_name":"Lambda calculus","level":2,"score":0.31608718633651733},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.1764216125011444},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.15624502301216125},{"id":"https://openalex.org/C28490314","wikidata":"https://www.wikidata.org/wiki/Q189436","display_name":"Speech recognition","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"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/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":6,"locations":[{"id":"doi:10.1017/s0956796816000265","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796816000265","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/AE529D08033550814B59D305CCE5A6A2/S0956796816000265a.pdf/div-class-title-correctness-of-compiling-polymorphism-to-dynamic-typing-a-href-afn1-ref-type-fn-a-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},{"id":"pmh:oai:repository.cmu.edu:compsci-3670","is_oa":false,"landing_page_url":"http://repository.cmu.edu/cgi/viewcontent.cgi?article=3670&context=compsci","pdf_url":null,"source":{"id":"https://openalex.org/S4306400668","display_name":"Research Showcase @ Carnegie Mellon University (Carnegie Mellon University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I74973139","host_organization_name":"Carnegie Mellon University","host_organization_lineage":["https://openalex.org/I74973139"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Computer Science Department","raw_type":"text"},{"id":"pmh:doi:10.1184/r1/6604526","is_oa":false,"landing_page_url":null,"pdf_url":null,"source":{"id":"https://openalex.org/S4406922384","display_name":"Open MIND","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Journal contribution"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.942.1946","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.942.1946","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://repository.cmu.edu/cgi/viewcontent.cgi?article%3D3670%26context%3Dcompsci","raw_type":"text"},{"id":"pmh:oai:figshare.com:article/6604526","is_oa":true,"landing_page_url":"https://figshare.com/articles/journal_contribution/Correctness_of_Compiling_Polymorphism_to_Dynamic_Typing/6604526","pdf_url":null,"source":{"id":"https://openalex.org/S4377196282","display_name":"Figshare","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I4210132348","host_organization_name":"Figshare (United Kingdom)","host_organization_lineage":["https://openalex.org/I4210132348"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},{"id":"doi:10.1184/r1/6604526.v1","is_oa":true,"landing_page_url":"https://doi.org/10.1184/r1/6604526.v1","pdf_url":null,"source":{"id":"https://openalex.org/S7407050927","display_name":"KiltHub Repository","issn_l":null,"issn":[],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article-journal"}],"best_oa_location":{"id":"doi:10.1017/s0956796816000265","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796816000265","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/AE529D08033550814B59D305CCE5A6A2/S0956796816000265a.pdf/div-class-title-correctness-of-compiling-polymorphism-to-dynamic-typing-a-href-afn1-ref-type-fn-a-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1139630157.pdf","grobid_xml":"https://content.openalex.org/works/W1139630157.grobid-xml"},"referenced_works_count":38,"referenced_works":["https://openalex.org/W267417","https://openalex.org/W61888246","https://openalex.org/W1508098446","https://openalex.org/W1514596527","https://openalex.org/W1529526858","https://openalex.org/W1595372275","https://openalex.org/W1760139041","https://openalex.org/W1965297988","https://openalex.org/W1991984504","https://openalex.org/W1992889841","https://openalex.org/W1997143185","https://openalex.org/W2007270285","https://openalex.org/W2033348393","https://openalex.org/W2048223797","https://openalex.org/W2060852846","https://openalex.org/W2078944436","https://openalex.org/W2091779700","https://openalex.org/W2093541252","https://openalex.org/W2110196404","https://openalex.org/W2117534212","https://openalex.org/W2118227920","https://openalex.org/W2123329569","https://openalex.org/W2128303158","https://openalex.org/W2128496924","https://openalex.org/W2134774109","https://openalex.org/W2137417304","https://openalex.org/W2156426055","https://openalex.org/W2164852587","https://openalex.org/W2166822586","https://openalex.org/W2261547225","https://openalex.org/W2329766482","https://openalex.org/W2402038485","https://openalex.org/W2491912653","https://openalex.org/W2911279247","https://openalex.org/W3163012639","https://openalex.org/W4205683772","https://openalex.org/W4211265583","https://openalex.org/W4254601874"],"related_works":["https://openalex.org/W2612830858","https://openalex.org/W2803077385","https://openalex.org/W2027907817","https://openalex.org/W3091937109","https://openalex.org/W1592479913","https://openalex.org/W1992310464","https://openalex.org/W2036107204","https://openalex.org/W2756772206","https://openalex.org/W119268553","https://openalex.org/W1978856319"],"abstract_inverted_index":{"Abstract":[0],"The":[1,136],"connection":[2],"between":[3],"polymorphic":[4],"and":[5,61,155,203],"dynamic":[6,44,111,201],"typing":[7,112,121],"was":[8,50],"originally":[9],"considered":[10],"by":[11,52],"Curry":[12],"et":[13,57,63],"al.":[14,58,64],"(1972,":[15],"Combinatory":[16],"Logic":[17],",":[18,154],"vol.":[19],"ii)":[20],"in":[21,40,47,74,113,160,174],"the":[22,35,53,77,95,161,187,206],"form":[23],"of":[24,55,79,88,189,195],"\u201cpolymorphic":[25],"type":[26,48,102,147,202],"assignment\u201d":[27],"for":[28],"untyped":[29],"\u03bb-terms.":[30],"Types":[31],"are":[32],"assigned":[33],"after":[34],"fact":[36],"to":[37,67,107,110,140,192],"what":[38],"is,":[39],"modern":[41],"terminology,":[42],"a":[43,92,100,115,149,200,213],"language.":[45],"Interest":[46],"assignment":[49],"revitalized":[51],"proposals":[54],"Bracha":[56],"(1998,":[59],"OOPSLA)":[60],"Bank":[62],"(1997,":[65],"POPL)":[66],"enrich":[68],"Java":[69],"with":[70,85,199],"polymorphism":[71,109,142],"(generics),":[72],"which":[73],"turn":[75],"sparked":[76],"development":[78],"other":[80,162],"languages,":[81],"such":[82,91,114],"as":[83,118,122,131],"Scala,":[84],"similar":[86],"combinations":[87],"features.":[89],"In":[90],"setting,":[93],"where":[94],"target":[96],"language":[97],"already":[98],"has":[99,171],"monomorphic":[101],"system,":[103],"it":[104],"is":[105,124,133,139,166,182],"desirable":[106],"compile":[108,141],"way":[116],"that":[117,158],"much":[119],"static":[120],"possible":[123],"preserved,":[125],"relying":[126],"on":[127],"dynamics":[128],"only":[129],"insofar":[130],"genericity":[132],"actually":[134],"required.":[135],"basic":[137],"approach":[138],"using":[143,212],"embeddings":[144],"from":[145],"each":[146],"into":[148],"universal":[150],"\u201ctop\u201d":[151],"type,":[152],"${\\mathbb{D}}$":[153],"partial":[156],"projections":[157],"go":[159],"direction.":[163],"This":[164,184],"scheme":[165],"intuitively":[167],"reasonable,":[168],"and,":[169],"indeed,":[170],"been":[172],"used":[173],"practice":[175],"many":[176],"times.":[177],"Proving":[178],"its":[179],"correctness,":[180],"however,":[181],"non-trivial.":[183],"paper":[185],"studies":[186],"compilation":[188,207],"System":[190],"F":[191],"an":[193],"extension":[194],"Moggi's":[196],"computational":[197],"meta-language":[198],"shows":[204],"how":[205],"may":[208],"be":[209],"proved":[210],"correct":[211],"logical":[214],"relation.":[215]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2}],"updated_date":"2026-04-23T06:14:38.165362","created_date":"2025-10-10T00:00:00"}
