{"id":"https://openalex.org/W7155623695","doi":"https://doi.org/10.1145/3811921","title":"A Typed Intermediate Representation for Dynamic Languages","display_name":"A Typed Intermediate Representation for Dynamic Languages","publication_year":2026,"publication_date":"2026-04-25","ids":{"openalex":"https://openalex.org/W7155623695","doi":"https://doi.org/10.1145/3811921"},"language":"en","primary_location":{"id":"doi:10.1145/3811921","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811921","pdf_url":null,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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":"hybrid","oa_url":"https://doi.org/10.1145/3811921","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5006031542","display_name":"Micka\u00ebl Laurent","orcid":"https://orcid.org/0000-0003-1590-2392"},"institutions":[{"id":"https://openalex.org/I21250087","display_name":"Charles University","ror":"https://ror.org/024d6js02","country_code":"CZ","type":"education","lineage":["https://openalex.org/I21250087"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"Micka\u00ebl Laurent","raw_affiliation_strings":["Charles University, Prague, Czech Republic"],"raw_orcid":"https://orcid.org/0000-0003-1590-2392","affiliations":[{"raw_affiliation_string":"Charles University, Prague, Czech Republic","institution_ids":["https://openalex.org/I21250087"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090556994","display_name":"Jakob Hain","orcid":null},"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":"Jakob Hain","raw_affiliation_strings":["Purdue University, West Lafayette, Indiana, USA"],"raw_orcid":"https://orcid.org/0009-0002-7471-0702","affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, Indiana, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5042260167","display_name":"Filip K\u0159ikava","orcid":"https://orcid.org/0000-0002-0478-6202"},"institutions":[{"id":"https://openalex.org/I44504214","display_name":"Czech Technical University in Prague","ror":"https://ror.org/03kqpb082","country_code":"CZ","type":"education","lineage":["https://openalex.org/I44504214"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"Filip K\u0159ikava","raw_affiliation_strings":["Czech Technical University, Prague, Czech Republic"],"raw_orcid":"https://orcid.org/0000-0002-0478-6202","affiliations":[{"raw_affiliation_string":"Czech Technical University, Prague, Czech Republic","institution_ids":["https://openalex.org/I44504214"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5063455969","display_name":"Sebasti\u00e1n Krynski","orcid":"https://orcid.org/0000-0002-4124-0225"},"institutions":[{"id":"https://openalex.org/I44504214","display_name":"Czech Technical University in Prague","ror":"https://ror.org/03kqpb082","country_code":"CZ","type":"education","lineage":["https://openalex.org/I44504214"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"Sebasti\u00e1n Krynski","raw_affiliation_strings":["Czech Technical University, Prague, Czech Republic"],"raw_orcid":"https://orcid.org/0000-0002-4124-0225","affiliations":[{"raw_affiliation_string":"Czech Technical University, Prague, Czech Republic","institution_ids":["https://openalex.org/I44504214"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5084307280","display_name":"Jan V\u00edtek","orcid":"https://orcid.org/0000-0003-4052-3458"},"institutions":[{"id":"https://openalex.org/I21250087","display_name":"Charles University","ror":"https://ror.org/024d6js02","country_code":"CZ","type":"education","lineage":["https://openalex.org/I21250087"]},{"id":"https://openalex.org/I44504214","display_name":"Czech Technical University in Prague","ror":"https://ror.org/03kqpb082","country_code":"CZ","type":"education","lineage":["https://openalex.org/I44504214"]}],"countries":["CZ"],"is_corresponding":false,"raw_author_name":"Jan Vitek","raw_affiliation_strings":["Charles University, Prague, Czech Republic and Czech Technical University Prague, Czech Republic"],"raw_orcid":"https://orcid.org/0000-0003-4052-3458","affiliations":[{"raw_affiliation_string":"Charles University, Prague, Czech Republic and Czech Technical University Prague, Czech Republic","institution_ids":["https://openalex.org/I21250087","https://openalex.org/I44504214"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.45902493,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"48","issue":"2","first_page":"1","last_page":"33"},"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.9221000075340271,"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.9221000075340271,"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/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.020099999383091927,"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/T10142","display_name":"Formal Methods in Verification","score":0.01590000092983246,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/soundness","display_name":"Soundness","score":0.8027999997138977},{"id":"https://openalex.org/keywords/intermediate-language","display_name":"Intermediate language","score":0.7978000044822693},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6974999904632568},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.527400016784668},{"id":"https://openalex.org/keywords/scope","display_name":"Scope (computer science)","score":0.48350000381469727},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.4569000005722046},{"id":"https://openalex.org/keywords/reflection","display_name":"Reflection (computer programming)","score":0.44519999623298645},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.421099990606308},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4122999906539917},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.39559999108314514}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9143999814987183},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.8027999997138977},{"id":"https://openalex.org/C77660490","wikidata":"https://www.wikidata.org/wiki/Q244916","display_name":"Intermediate language","level":3,"score":0.7978000044822693},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7684999704360962},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6974999904632568},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.527400016784668},{"id":"https://openalex.org/C2778012447","wikidata":"https://www.wikidata.org/wiki/Q1034415","display_name":"Scope (computer science)","level":2,"score":0.48350000381469727},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.4569000005722046},{"id":"https://openalex.org/C65682993","wikidata":"https://www.wikidata.org/wiki/Q1056451","display_name":"Reflection (computer programming)","level":2,"score":0.44519999623298645},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.421099990606308},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4122999906539917},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.39559999108314514},{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.3837999999523163},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.37779998779296875},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3756999969482422},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.36489999294281006},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.35359999537467957},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.3515999913215637},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.33570000529289246},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.3133000135421753},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.3082999885082245},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.30709999799728394},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.2992999851703644},{"id":"https://openalex.org/C2164484","wikidata":"https://www.wikidata.org/wiki/Q5170150","display_name":"Core (optical fiber)","level":2,"score":0.29829999804496765},{"id":"https://openalex.org/C145428669","wikidata":"https://www.wikidata.org/wiki/Q471748","display_name":"Exception handling","level":2,"score":0.2903999984264374},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.2809000015258789},{"id":"https://openalex.org/C2778334786","wikidata":"https://www.wikidata.org/wiki/Q1586270","display_name":"Variation (astronomy)","level":2,"score":0.2734000086784363},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.2651999890804291},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.2628999948501587},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.2583000063896179},{"id":"https://openalex.org/C175971053","wikidata":"https://www.wikidata.org/wiki/Q827335","display_name":"Abstract data type","level":2,"score":0.2574000060558319},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.25540000200271606},{"id":"https://openalex.org/C37404715","wikidata":"https://www.wikidata.org/wiki/Q380679","display_name":"Dynamic programming","level":2,"score":0.2540999948978424},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.25110000371932983},{"id":"https://openalex.org/C128099668","wikidata":"https://www.wikidata.org/wiki/Q573952","display_name":"Lazy evaluation","level":3,"score":0.2508000135421753}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3811921","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811921","pdf_url":null,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3811921","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3811921","pdf_url":null,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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":[],"awards":[{"id":"https://openalex.org/G7770861109","display_name":"Engineering of Data Analysis Pipelines","funder_award_id":"LL2325","funder_id":"https://openalex.org/F4320321005","funder_display_name":"Ministerstvo \u0160kolstv\u00ed, Ml\u00e1de\u017ee a T\u011blov\u00fdchovy"},{"id":"https://openalex.org/G8093217726","display_name":"Rigorous Engineering of Data Analysis Pipelines (RiGiD)","funder_award_id":"GX23-07580X","funder_id":"https://openalex.org/F4320321006","funder_display_name":"Grantov\u00e1 Agentura \u010cesk\u00e9 Republiky"}],"funders":[{"id":"https://openalex.org/F4320321005","display_name":"Ministerstvo \u0160kolstv\u00ed, Ml\u00e1de\u017ee a T\u011blov\u00fdchovy","ror":"https://ror.org/037n8p820"},{"id":"https://openalex.org/F4320321006","display_name":"Grantov\u00e1 Agentura \u010cesk\u00e9 Republiky","ror":"https://ror.org/01pv73b02"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":18,"referenced_works":["https://openalex.org/W1993318777","https://openalex.org/W2000050212","https://openalex.org/W2033348393","https://openalex.org/W2037159234","https://openalex.org/W2069107692","https://openalex.org/W2091228796","https://openalex.org/W2111531191","https://openalex.org/W2132869755","https://openalex.org/W2136839747","https://openalex.org/W2151716725","https://openalex.org/W2168448595","https://openalex.org/W2767234833","https://openalex.org/W2898321943","https://openalex.org/W2960503875","https://openalex.org/W3106774398","https://openalex.org/W3117382689","https://openalex.org/W3137596000","https://openalex.org/W4387781651"],"related_works":[],"abstract_inverted_index":{"Dynamic":[0],"programming":[1],"languages":[2],"pose":[3],"significant":[4],"challenges":[5],"for":[6,114],"optimizing":[7],"compilers":[8,27],"due":[9],"to":[10,65],"features":[11,33,88,112],"such":[12,92],"as":[13,93],"dynamic":[14,32,60],"typing,":[15],"late":[16],"binding,":[17],"reflection,":[18],"copy-on-write,":[19],"and":[20,37,63,76,83,98,125,127,130],"delayed":[21],"evaluation.":[22],"To":[23],"generate":[24],"efficient":[25],"code,":[26],"must":[28],"speculate":[29],"on":[30,42],"which":[31],"will":[34],"be":[35],"exercised":[36],"produce":[38],"specialized":[39],"code":[40],"based":[41],"these":[43,87,115],"assumptions.":[44],"This":[45],"article":[46],"presents":[47],"the":[48,110,133,136],"design":[49],"of":[50,135],"a":[51,103,122],"statically":[52],"typed,":[53],"high-level":[54],"intermediate":[55],"representation":[56],"(IR)":[57],"that":[58,108],"makes":[59],"behaviors":[61],"explicit":[62],"amenable":[64],"static":[66],"analysis.":[67],"Our":[68],"IR":[69],"combines":[70],"gradual":[71],"typing":[72],"with":[73],"ownership":[74],"tracking,":[75],"explicitly":[77],"represents":[78],"promises,":[79],"multiple":[80],"function":[81],"versions,":[82],"contextual":[84],"dispatch.":[85],"Together,":[86],"directly":[89],"support":[90],"optimizations":[91],"specialization,":[94],"inlining,":[95],"scope":[96],"elision,":[97],"copy":[99],"elimination.":[100],"We":[101,117],"formalize":[102],"core":[104],"calculus,":[105],"called":[106],"FI\u0158,":[107],"captures":[109],"essential":[111],"required":[113],"optimizations.":[116],"provide":[118],"an":[119],"operational":[120],"semantics,":[121],"type":[123,137],"system,":[124],"flow":[126],"reflection":[128],"analyses,":[129],"we":[131],"prove":[132],"soundness":[134],"system.":[138]},"counts_by_year":[],"updated_date":"2026-08-08T01:25:22.217667","created_date":"2026-04-26T00:00:00"}
