{"id":"https://openalex.org/W2093077968","doi":"https://doi.org/10.1145/2814204.2814217","title":"Almost first-class language embedding: taming staged embedded DSLs","display_name":"Almost first-class language embedding: taming staged embedded DSLs","publication_year":2015,"publication_date":"2015-10-26","ids":{"openalex":"https://openalex.org/W2093077968","doi":"https://doi.org/10.1145/2814204.2814217","mag":"2093077968"},"language":"en","primary_location":{"id":"doi:10.1145/2814204.2814217","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814204.2814217","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"type":"conference-paper","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/A5025330759","display_name":"Maximilian Scherr","orcid":null},"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":false,"raw_author_name":"Maximilian Scherr","raw_affiliation_strings":["University of Tokyo, Japan","University of Tokyo, , Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Tokyo, Japan","institution_ids":["https://openalex.org/I74801974"]},{"raw_affiliation_string":"University of Tokyo, , Japan","institution_ids":["https://openalex.org/I74801974"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5026542200","display_name":"Shigeru Chiba","orcid":"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":false,"raw_author_name":"Shigeru Chiba","raw_affiliation_strings":["University of Tokyo, Japan","University of Tokyo, , Japan"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Tokyo, Japan","institution_ids":["https://openalex.org/I74801974"]},{"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":[],"corresponding_institution_ids":["https://openalex.org/I74801974"],"apc_list":null,"apc_paid":null,"fwci":0.9486,"has_fulltext":false,"cited_by_count":10,"citation_normalized_percentile":{"value":0.72227357,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"21","last_page":"30"},"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.9994999766349792,"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.9994999766349792,"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.9993000030517578,"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.9979000091552734,"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.8388178944587708},{"id":"https://openalex.org/keywords/reification","display_name":"Reification (Marxism)","score":0.7689855098724365},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6640913486480713},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.6129630208015442},{"id":"https://openalex.org/keywords/embedding","display_name":"Embedding","score":0.6099668741226196},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.4905075430870056},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.4508202373981476},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.4410717487335205},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.43498578667640686},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.412075400352478},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2532457113265991},{"id":"https://openalex.org/keywords/linguistics","display_name":"Linguistics","score":0.21057015657424927},{"id":"https://openalex.org/keywords/epistemology","display_name":"Epistemology","score":0.0909392237663269}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8388178944587708},{"id":"https://openalex.org/C201377581","wikidata":"https://www.wikidata.org/wiki/Q863448","display_name":"Reification (Marxism)","level":3,"score":0.7689855098724365},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6640913486480713},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.6129630208015442},{"id":"https://openalex.org/C41608201","wikidata":"https://www.wikidata.org/wiki/Q980509","display_name":"Embedding","level":2,"score":0.6099668741226196},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.4905075430870056},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.4508202373981476},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.4410717487335205},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.43498578667640686},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.412075400352478},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2532457113265991},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.21057015657424927},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0909392237663269},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2814204.2814217","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2814204.2814217","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2015 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":39,"referenced_works":["https://openalex.org/W80700283","https://openalex.org/W171887329","https://openalex.org/W238475734","https://openalex.org/W1497920889","https://openalex.org/W1553992341","https://openalex.org/W1649645444","https://openalex.org/W1839902311","https://openalex.org/W1939467000","https://openalex.org/W1982534263","https://openalex.org/W1986454448","https://openalex.org/W1995618084","https://openalex.org/W2008679758","https://openalex.org/W2009775190","https://openalex.org/W2055947235","https://openalex.org/W2059720667","https://openalex.org/W2079285359","https://openalex.org/W2088840230","https://openalex.org/W2094455839","https://openalex.org/W2097071296","https://openalex.org/W2103705372","https://openalex.org/W2118927907","https://openalex.org/W2119871735","https://openalex.org/W2123092976","https://openalex.org/W2124153277","https://openalex.org/W2139897701","https://openalex.org/W2154697693","https://openalex.org/W2169336925","https://openalex.org/W2171433297","https://openalex.org/W2174554963","https://openalex.org/W2176580510","https://openalex.org/W2202435499","https://openalex.org/W2285827435","https://openalex.org/W2315470778","https://openalex.org/W2561675875","https://openalex.org/W3100848628","https://openalex.org/W4235832836","https://openalex.org/W4246781209","https://openalex.org/W6603153797","https://openalex.org/W6629691985"],"related_works":["https://openalex.org/W2033573055","https://openalex.org/W2359688100","https://openalex.org/W4384302997","https://openalex.org/W4311154664","https://openalex.org/W844737241","https://openalex.org/W2359882040","https://openalex.org/W2365736690","https://openalex.org/W4285090204","https://openalex.org/W2998752721","https://openalex.org/W2801038554"],"abstract_inverted_index":{"Embedded":[0],"domain-specific":[1],"languages":[2],"(EDSLs),":[3],"inheriting":[4],"a":[5,93,129,137,158,183],"general-purpose":[6],"language's":[7],"features":[8],"as":[9,11,38,115,169],"well":[10],"look-and-feel,":[12],"have":[13],"traditionally":[14],"been":[15],"second-class":[16],"or":[17],"rather":[18],"non-citizens":[19],"in":[20],"terms":[21,171],"of":[22,51,75,106,113,125],"host-language":[23],"design.":[24],"This":[25],"makes":[26],"sense":[27],"when":[28,62],"one":[29],"regards":[30],"them":[31],"to":[32,48,65,90,153,182],"be":[33,91],"on":[34,64,146],"the":[35,49,111,189],"same":[36],"level":[37],"traditional,":[39],"non-EDSL":[40],"library":[41],"interfaces.":[42],"However,":[43],"this":[44,54,59,133],"equivalence":[45],"only":[46],"applies":[47],"simplest":[50],"EDSLs.":[52],"In":[53,157],"paper":[55],"we":[56,109,135],"illustrate":[57],"why":[58],"is":[60,144,179],"detrimental":[61],"moving":[63],"EDSLs":[66,88,114],"that":[67,78,86,148],"employ":[68],"staging,":[69],"i.e.":[70,117],"program":[71],"reification,":[72],"by":[73,188],"example":[74],"various":[76],"issues":[77],"affect":[79],"authors":[80],"and":[81,102,150,166,172],"users":[82],"alike.":[83],"We":[84],"believe":[85],"if":[87],"are":[89],"considered":[92],"reliable,":[94],"language-like":[95],"interface":[96],"abstraction,":[97],"they":[98],"require":[99],"exceptional":[100],"attention":[101],"design":[103],"scrutiny.":[104],"Instead":[105],"unenforceable":[107],"conventions,":[108],"advocate":[110],"acceptance":[112],"proper,":[116],"almost":[118],"first-class,":[119],"citizens":[120],"while":[121],"retaining":[122],"most":[123],"advantages":[124],"pure":[126],"embeddings.":[127],"As":[128],"small":[130],"step":[131],"towards":[132],"goal,":[134],"present":[136],"pragmatic":[138],"framework":[139,161],"prototype":[140],"for":[141],"Java.":[142],"It":[143],"based":[145],"annotations":[147],"explicate":[149],"document":[151],"membership":[152],"explicit":[154],"EDSL":[155,170,190],"entities.":[156],"nutshell,":[159],"our":[160],"identifies":[162],"(annotated)":[163],"method":[164],"calls":[165],"field":[167],"accesses":[168],"dynamically":[173],"constructs":[174],"an":[175],"abstract-syntax":[176],"representation,":[177],"which":[178],"eventually":[180],"passed":[181],"semantics-defining":[184],"back":[185],"end":[186],"implemented":[187],"author.":[191]},"counts_by_year":[{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1}],"updated_date":"2026-07-30T17:31:21.811387","created_date":"2025-10-10T00:00:00"}
