{"id":"https://openalex.org/W2806285345","doi":"https://doi.org/10.1145/3201898","title":"Cross-Language Interoperability in a Multi-Language Runtime","display_name":"Cross-Language Interoperability in a Multi-Language Runtime","publication_year":2018,"publication_date":"2018-05-28","ids":{"openalex":"https://openalex.org/W2806285345","doi":"https://doi.org/10.1145/3201898","mag":"2806285345"},"language":"en","primary_location":{"id":"doi:10.1145/3201898","doi":"https://doi.org/10.1145/3201898","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3201898","pdf_url":"https://dl.acm.org/action/downloadSupplement?doi=10.1145%2F3201898&file=a18-corrigendum.pdf&download=true","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,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/action/downloadSupplement?doi=10.1145%2F3201898&file=a18-corrigendum.pdf&download=true","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5057146872","display_name":"Matthias Grimmer","orcid":"https://orcid.org/0000-0003-4295-1579","observed_orcids":["https://orcid.org/0000-0003-4295-1579"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Matthias Grimmer","raw_affiliation_strings":["Oracle Labs, Austria"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, Austria","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043840658","display_name":"Roland Schatz","orcid":"https://orcid.org/0009-0006-3100-8816","observed_orcids":["https://orcid.org/0009-0006-3100-8816"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Roland Schatz","raw_affiliation_strings":["Oracle Labs, Austria"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, Austria","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5037104076","display_name":"Chris Seaton","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I4210107681","display_name":"Oracle (United Kingdom)","ror":"https://ror.org/01pe8xs92","country_code":"GB","type":"company","lineage":["https://openalex.org/I1342911587","https://openalex.org/I4210107681"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Chris Seaton","raw_affiliation_strings":["Oracle Labs, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, United Kingdom","institution_ids":["https://openalex.org/I4210107681"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5078436726","display_name":"Thomas W\u00fcrthinger","orcid":"https://orcid.org/0009-0007-0441-5173","observed_orcids":["https://orcid.org/0009-0007-0441-5173"]},"institutions":[{"id":"https://openalex.org/I1342911587","display_name":"Oracle (United States)","ror":"https://ror.org/006c77m33","country_code":"US","type":"company","lineage":["https://openalex.org/I1342911587"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Thomas W\u00fcrthinger","raw_affiliation_strings":["Oracle Labs, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs, Switzerland","institution_ids":["https://openalex.org/I1342911587"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026069638","display_name":"Mikel Luj\u00e1n","orcid":"https://orcid.org/0000-0002-0842-1083","observed_orcids":["https://orcid.org/0000-0002-0842-1083"]},"institutions":[{"id":"https://openalex.org/I28407311","display_name":"University of Manchester","ror":"https://ror.org/027m9bs27","country_code":"GB","type":"education","lineage":["https://openalex.org/I28407311"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Mikel Luj\u00e1n","raw_affiliation_strings":["University of Manchester, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Manchester, United Kingdom","institution_ids":["https://openalex.org/I28407311"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5011678778","display_name":"Hanspeter M\u00f6ssenb\u00f6ck","orcid":"https://orcid.org/0000-0001-7706-7308","observed_orcids":["https://orcid.org/0000-0001-7706-7308"]},"institutions":[{"id":"https://openalex.org/I121883995","display_name":"Johannes Kepler University of Linz","ror":"https://ror.org/052r2xn60","country_code":"AT","type":"education","lineage":["https://openalex.org/I121883995"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Hanspeter M\u00f6ssenb\u00f6ck","raw_affiliation_strings":["Johannes Kepler University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Johannes Kepler University","institution_ids":["https://openalex.org/I121883995"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":4.6946,"has_fulltext":false,"cited_by_count":45,"citation_normalized_percentile":{"value":0.95309658,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":99},"biblio":{"volume":"40","issue":"2","first_page":"1","last_page":"43"},"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.95169997215271,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.95169997215271,"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"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.031300000846385956,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.004100000020116568,"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/cross-language-interoperability","display_name":"cross-language interoperability","score":0.8320000171661377},{"id":"https://openalex.org/keywords/virtual-machines","display_name":"virtual machines","score":0.6259999871253967},{"id":"https://openalex.org/keywords/dynamic-compilation","display_name":"dynamic compilation","score":0.546999990940094},{"id":"https://openalex.org/keywords/intermediate-representation","display_name":"intermediate representation","score":0.6520000100135803},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.6190000176429749},{"id":"https://openalex.org/keywords/ruby","display_name":"ruby","score":0.9990000128746033},{"id":"https://openalex.org/keywords/c-extensions","display_name":"C language extension","score":0.6700000166893005},{"id":"https://openalex.org/keywords/api-implementation","display_name":"API implementation","score":0.40299999713897705}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9159480333328247},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7797086238861084},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.6842209100723267},{"id":"https://openalex.org/C124577441","wikidata":"https://www.wikidata.org/wiki/Q558937","display_name":"Low-level programming language","level":5,"score":0.559032142162323},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.5165683031082153},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.4689488112926483},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.3409627079963684},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.1654808521270752},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3201898","doi":"https://doi.org/10.1145/3201898","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3201898","pdf_url":"https://dl.acm.org/action/downloadSupplement?doi=10.1145%2F3201898&file=a18-corrigendum.pdf&download=true","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,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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:epub.jku.at/:963644","doi":null,"is_oa":false,"landing_page_url":"http://resolver.obvsg.at/urn:nbn:at:at-ubl:1-6880","pdf_url":null,"source":{"id":"https://openalex.org/S4306401788","display_name":"University Library Linz repository (Johannes Kepler Universitat Linz)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I121883995","host_organization_name":"Johannes Kepler University of Linz","host_organization_lineage":["https://openalex.org/I121883995"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Thesis"},{"id":"pmh:oai:pure.atira.dk:openaire_cris_publications/b6069ef0-2133-4bcc-a9e1-9e72a8246889","doi":null,"is_oa":false,"landing_page_url":"https://research.manchester.ac.uk/en/publications/b6069ef0-2133-4bcc-a9e1-9e72a8246889","pdf_url":null,"source":{"id":"https://openalex.org/S4306400662","display_name":"Research Explorer (The University of Manchester)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I28407311","host_organization_name":"University of Manchester","host_organization_lineage":["https://openalex.org/I28407311"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Grimmer, M, Schatz, R, Seaton, C, W\u00fcrthinger, T & Luj\u00e1n, M 2018, 'Cross-Language Interoperability in a Multi-Language Runtime', ACM Transactions on Programming Languages and Systems, vol. 40, no. 2, 8. https://doi.org/10.1145/3201898","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3201898","doi":"https://doi.org/10.1145/3201898","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3201898","pdf_url":"https://dl.acm.org/action/downloadSupplement?doi=10.1145%2F3201898&file=a18-corrigendum.pdf&download=true","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,"listed_in":["ccf-a","cwts-core","dongbi-a","jufo-3","norway-2","poland-140","russia-white-list-2"],"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":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2806285345.pdf","grobid_xml":"https://content.openalex.org/works/W2806285345.grobid-xml"},"referenced_works_count":59,"referenced_works":["https://openalex.org/W149310437","https://openalex.org/W220935706","https://openalex.org/W1493349649","https://openalex.org/W1533781805","https://openalex.org/W1560840983","https://openalex.org/W1587443845","https://openalex.org/W1595637483","https://openalex.org/W1873039666","https://openalex.org/W1919920699","https://openalex.org/W1966263211","https://openalex.org/W1978544037","https://openalex.org/W1978680977","https://openalex.org/W1986466480","https://openalex.org/W1993335798","https://openalex.org/W1999512654","https://openalex.org/W2008737989","https://openalex.org/W2013901208","https://openalex.org/W2016567396","https://openalex.org/W2018107877","https://openalex.org/W2028053566","https://openalex.org/W2028508608","https://openalex.org/W2028642878","https://openalex.org/W2036825485","https://openalex.org/W2042559279","https://openalex.org/W2064918005","https://openalex.org/W2072916763","https://openalex.org/W2075675735","https://openalex.org/W2077934095","https://openalex.org/W2089424085","https://openalex.org/W2091228796","https://openalex.org/W2094269821","https://openalex.org/W2094789240","https://openalex.org/W2103240295","https://openalex.org/W2104216136","https://openalex.org/W2111531191","https://openalex.org/W2116129553","https://openalex.org/W2120878745","https://openalex.org/W2123357908","https://openalex.org/W2124159086","https://openalex.org/W2130235146","https://openalex.org/W2132215655","https://openalex.org/W2141293928","https://openalex.org/W2143322757","https://openalex.org/W2143588523","https://openalex.org/W2159558457","https://openalex.org/W2160756430","https://openalex.org/W2161790281","https://openalex.org/W2162053995","https://openalex.org/W2163077605","https://openalex.org/W2164296674","https://openalex.org/W2537964555","https://openalex.org/W2572804059","https://openalex.org/W2731881248","https://openalex.org/W2755512550","https://openalex.org/W2903318108","https://openalex.org/W2969791899","https://openalex.org/W3200788958","https://openalex.org/W4244520147","https://openalex.org/W4245120671"],"related_works":["https://openalex.org/W3009760514","https://openalex.org/W2889098827","https://openalex.org/W2132215655","https://openalex.org/W76191664","https://openalex.org/W7153842164","https://openalex.org/W2064918005","https://openalex.org/W4386631117","https://openalex.org/W1978138677","https://openalex.org/W2028053566","https://openalex.org/W7096963768"],"abstract_inverted_index":{"In":[0],"large-scale":[1],"software":[2],"applications,":[3],"programmers":[4],"often":[5,58],"combine":[6],"different":[7,41,46,80,134],"programming":[8,42,81,218],"languages":[9,43,82,96,107],"because":[10],"this":[11],"allows":[12,245],"them":[13,88],"to":[14,24,32,35,51,86,120,151,167,249],"use":[15,150],"the":[16,164,199,214,241,246],"most":[17],"suitable":[18],"language":[19,31,56,114,135,148,242,254],"for":[20,221],"a":[21,73,90,128,144],"given":[22],"problem,":[23],"gradually":[25],"migrate":[26],"existing":[27,37],"projects":[28],"from":[29],"one":[30,197,209],"another,":[33],"or":[34,67,155,235],"reuse":[36],"source":[38,118],"code.":[39],"However,":[40],"have":[44],"fundamentally":[45],"implementations,":[47,115],"which":[48,116],"are":[49],"hard":[50],"combine.":[52],"The":[53,195,207],"composition":[54,201],"of":[55,112,202,213,237],"implementations":[57,136,149],"results":[59],"in":[60,89],"complex":[61],"interfaces":[62],"between":[63],"languages,":[64,177],"insufficient":[65],"flexibility,":[66],"poor":[68],"performance.":[69,186,231],"We":[70,187,223],"propose":[71],"TruffleVM,":[72],"virtual":[74],"machine":[75],"(VM)":[76],"that":[77,124,147,163,225],"can":[78],"execute":[79],"and":[83,99,183,205,244],"is":[84,125,143],"able":[85],"compose":[87],"seamless":[91],"way.":[92],"TruffleVM":[93,131,165],"supports":[94,175],"dynamically-typed":[95],"(e.g.,":[97,108],"JavaScript":[98],"Ruby)":[100],"as":[101,103],"well":[102],"statically":[104],"typed":[105],"low-level":[106],"C).":[109],"It":[110,159,232],"consists":[111],"individual":[113],"translate":[117],"code":[119],"an":[121,179,211],"intermediate":[122],"representation":[123],"executed":[126],"by":[127],"shared":[129],"VM.":[130],"composes":[132],"these":[133],"via":[137],"generic":[138,189,226],"access":[139,142,152,174,190,227],".":[140],"Generic":[141,173],"language-agnostic":[145,161],"mechanism":[146],"foreign":[153,157,238],"data":[154],"call":[156],"functions.":[158],"features":[160],"messages":[162],"resolves":[166],"efficient":[168,180],"foreign-language-specific":[169],"operations":[170],"at":[171,240],"runtime.":[172],"multiple":[176],"enables":[178],"multi-language":[181],"development,":[182],"ensures":[184],"high":[185],"evaluate":[188],"with":[191],"two":[192],"case":[193],"studies.":[194],"first":[196],"explains":[198],"transparent":[200],"JavaScript,":[203],"Ruby,":[204],"C.":[206],"second":[208],"shows":[210],"implementation":[212],"C":[215],"extensions":[216],"application":[217],"interface":[219],"(API)":[220],"Ruby.":[222],"show":[224],"guarantees":[228],"good":[229],"runtime":[230],"avoids":[233],"conversion":[234],"marshalling":[236],"objects":[239],"boundary":[243],"dynamic":[247],"compiler":[248],"perform":[250],"its":[251],"optimizations":[252],"across":[253],"boundaries.":[255]},"counts_by_year":[{"year":2026,"cited_by_count":7},{"year":2025,"cited_by_count":8},{"year":2024,"cited_by_count":8},{"year":2023,"cited_by_count":8},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":2}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2018-06-13T00:00:00"}
