{"id":"https://openalex.org/W2979932151","doi":"https://doi.org/10.1145/3357765.3359521","title":"Foreign language interfaces by code migration","display_name":"Foreign language interfaces by code migration","publication_year":2019,"publication_date":"2019-10-10","ids":{"openalex":"https://openalex.org/W2979932151","doi":"https://doi.org/10.1145/3357765.3359521","mag":"2979932151"},"language":"en","primary_location":{"id":"doi:10.1145/3357765.3359521","doi":"https://doi.org/10.1145/3357765.3359521","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3357765.3359521","pdf_url":null,"source":{"id":"https://openalex.org/S7407087718","display_name":"ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"volume":null,"type":"conference-paper","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5026542200","display_name":"Shigeru Chiba","orcid":"https://orcid.org/0000-0001-9458-5713","observed_orcids":["https://orcid.org/0000-0001-9458-5713"]},"institutions":[{"id":"https://openalex.org/I74801974","display_name":"The University of Tokyo","ror":"https://ror.org/057zh3y96","country_code":"JP","type":"education","lineage":["https://openalex.org/I74801974"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Shigeru Chiba","raw_affiliation_strings":["University of Tokyo, Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Tokyo, Japan","institution_ids":["https://openalex.org/I74801974"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5026542200"],"corresponding_institution_ids":["https://openalex.org/I74801974"],"apc_list":null,"apc_paid":null,"fwci":0.3529,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.43493832,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":88,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"13"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.7875999808311462,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.7875999808311462,"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/T10126","display_name":"Logic, programming, and type systems","score":0.16099999845027924,"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/T10260","display_name":"Software Engineering Research","score":0.01360000018030405,"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/foreign-function-interface","display_name":"foreign function interface","score":0.9150000214576721},{"id":"https://openalex.org/keywords/code-migration","display_name":"code migration","score":0.9710000157356262},{"id":"https://openalex.org/keywords/embedded-domain-specific-languages","display_name":"embedded domain-specific languages","score":0.7639999985694885},{"id":"https://openalex.org/keywords/ruby","display_name":"ruby","score":0.45899999141693115},{"id":"https://openalex.org/keywords/syntax-checking","display_name":"syntax checking","score":0.9539999961853027},{"id":"https://openalex.org/keywords/language-interoperability","display_name":"language interoperability","score":0.5989999771118164}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.855500340461731},{"id":"https://openalex.org/C201374245","wikidata":"https://www.wikidata.org/wiki/Q104534","display_name":"Digital subscriber line","level":2,"score":0.7682317495346069},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6906440258026123},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.6187268495559692},{"id":"https://openalex.org/C113843644","wikidata":"https://www.wikidata.org/wiki/Q901882","display_name":"Interface (matter)","level":4,"score":0.4622599184513092},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.4150794446468353},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.18064045906066895},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.11317792534828186},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C157915830","wikidata":"https://www.wikidata.org/wiki/Q2928001","display_name":"Bubble","level":2,"score":0.0},{"id":"https://openalex.org/C129307140","wikidata":"https://www.wikidata.org/wiki/Q6795880","display_name":"Maximum bubble pressure method","level":3,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3357765.3359521","doi":"https://doi.org/10.1145/3357765.3359521","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3357765.3359521","pdf_url":null,"source":{"id":"https://openalex.org/S7407087718","display_name":"ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G2608370796","display_name":"Implementation techniques for Domain Specific Languages","funder_award_id":"15H02682","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":31,"referenced_works":["https://openalex.org/W25798763","https://openalex.org/W80700283","https://openalex.org/W1978220811","https://openalex.org/W2018045485","https://openalex.org/W2036134187","https://openalex.org/W2050613794","https://openalex.org/W2059720667","https://openalex.org/W2078200248","https://openalex.org/W2078434561","https://openalex.org/W2088840230","https://openalex.org/W2093077968","https://openalex.org/W2097071296","https://openalex.org/W2119871735","https://openalex.org/W2122339407","https://openalex.org/W2149929511","https://openalex.org/W2154697693","https://openalex.org/W2245493112","https://openalex.org/W2294771215","https://openalex.org/W2484530857","https://openalex.org/W2512864231","https://openalex.org/W2539064697","https://openalex.org/W2539141703","https://openalex.org/W2602388736","https://openalex.org/W2754883653","https://openalex.org/W2911601159","https://openalex.org/W2966037109","https://openalex.org/W2979716378","https://openalex.org/W3103649929","https://openalex.org/W4233720472","https://openalex.org/W4235832836","https://openalex.org/W6949944376"],"related_works":["https://openalex.org/W7096638072","https://openalex.org/W2161790281","https://openalex.org/W2403180516","https://openalex.org/W2298771705","https://openalex.org/W7096805478","https://openalex.org/W7096797900","https://openalex.org/W3195565338","https://openalex.org/W4413658945","https://openalex.org/W2187917193","https://openalex.org/W7112717810"],"abstract_inverted_index":{"A":[0],"foreign":[1,17,47,112,127,144],"function":[2,84],"interface":[3,24],"(FFI)":[4],"is":[5,25,107],"a":[6,12,28,46,53,61,82,143],"classical":[7],"abstraction":[8],"used":[9],"for":[10,27,136,153],"interfacing":[11],"programming":[13],"language":[14,18,33,48,67,104,145],"with":[15],"another":[16],"to":[19,41,95,109,119,121,142],"reuse":[20],"its":[21],"libraries.":[22],"This":[23,73,90,129],"important":[26],"new":[29,58,88],"(or":[30],"non":[31],"prevailing)":[32],"because":[34],"it":[35],"lacks":[36],"libraries":[37,43],"and":[38,114],"thus":[39],"needs":[40],"borrow":[42],"written":[44,124],"in":[45,56,125],"when":[49],"the":[50,70,75,78,111,116,122,126,138,154],"programmer":[51],"develops":[52],"practical":[54],"application":[55],"that":[57,87],"language.":[59,72,89,128],"However,":[60],"modern":[62],"library":[63,79,123],"often":[64],"exploits":[65],"unique":[66],"mechanisms":[68],"of":[69,77],"implementation":[71],"makes":[74],"use":[76,99],"difficult":[80],"through":[81],"simple":[83],"call":[85],"from":[86,140],"paper":[91,130],"presents":[92,132],"our":[93,133],"approach":[94],"this":[96],"problem.":[97],"We":[98],"an":[100],"embedded":[101],"domain":[102],"specific":[103],"(DSL),":[105],"which":[106],"designed":[108],"resemble":[110],"language,":[113],"migrate":[115],"DSL":[117,139,156],"code":[118],"access":[120],"also":[131],"framework":[134,148],"Yadriggy":[135],"developing":[137],"Ruby":[141],"environment.":[146],"The":[147],"supports":[149],"DSL-specific":[150],"syntax":[151],"checking":[152],"migrated":[155],"code.":[157]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":1},{"year":2020,"cited_by_count":2}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2019-10-18T00:00:00"}
