{"id":"https://openalex.org/W2151073063","doi":"https://doi.org/10.1145/2517208.2517210","title":"A framework for extensible languages","display_name":"A framework for extensible languages","publication_year":2013,"publication_date":"2013-10-23","ids":{"openalex":"https://openalex.org/W2151073063","doi":"https://doi.org/10.1145/2517208.2517210","mag":"2151073063"},"language":"en","primary_location":{"id":"doi:10.1145/2517208.2517210","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2517208.2517210","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th international conference on Generative programming: concepts &amp; 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/A5059992246","display_name":"Sebastian Erdweg","orcid":"https://orcid.org/0000-0002-1974-5956"},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technische Universit\u00e4t Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sebastian Erdweg","raw_affiliation_strings":["TU Darmstadt, Darmstadt, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5088757698","display_name":"Felix Rieger","orcid":null},"institutions":[{"id":"https://openalex.org/I31512782","display_name":"Technische Universit\u00e4t Darmstadt","ror":"https://ror.org/05n911h24","country_code":"DE","type":"education","lineage":["https://openalex.org/I31512782"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Felix Rieger","raw_affiliation_strings":["TU Darmstadt, Darmstadt, Germany"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"TU Darmstadt, Darmstadt, Germany","institution_ids":["https://openalex.org/I31512782"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I31512782"],"apc_list":null,"apc_paid":null,"fwci":4.0264,"has_fulltext":false,"cited_by_count":21,"citation_normalized_percentile":{"value":0.94869947,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"3","last_page":"12"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9977999925613403,"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"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9977999925613403,"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"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9973999857902527,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.996999979019165,"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/computer-science","display_name":"Computer science","score":0.8930144906044006},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.812105655670166},{"id":"https://openalex.org/keywords/extensibility","display_name":"Extensibility","score":0.7557246685028076},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7288044691085815},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.5168055295944214},{"id":"https://openalex.org/keywords/javascript","display_name":"JavaScript","score":0.4730229377746582},{"id":"https://openalex.org/keywords/generality","display_name":"Generality","score":0.43197867274284363},{"id":"https://openalex.org/keywords/extensible-programming","display_name":"Extensible programming","score":0.41403141617774963},{"id":"https://openalex.org/keywords/natural-language-processing","display_name":"Natural language processing","score":0.2738470435142517},{"id":"https://openalex.org/keywords/fifth-generation-programming-language","display_name":"Fifth-generation programming language","score":0.2616753578186035},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.24303576350212097},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.18243974447250366}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8930144906044006},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.812105655670166},{"id":"https://openalex.org/C32833848","wikidata":"https://www.wikidata.org/wiki/Q4115054","display_name":"Extensibility","level":2,"score":0.7557246685028076},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7288044691085815},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.5168055295944214},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.4730229377746582},{"id":"https://openalex.org/C2780767217","wikidata":"https://www.wikidata.org/wiki/Q5532421","display_name":"Generality","level":2,"score":0.43197867274284363},{"id":"https://openalex.org/C131531359","wikidata":"https://www.wikidata.org/wiki/Q5421926","display_name":"Extensible programming","level":5,"score":0.41403141617774963},{"id":"https://openalex.org/C204321447","wikidata":"https://www.wikidata.org/wiki/Q30642","display_name":"Natural language processing","level":1,"score":0.2738470435142517},{"id":"https://openalex.org/C199305712","wikidata":"https://www.wikidata.org/wiki/Q3205914","display_name":"Fifth-generation programming language","level":3,"score":0.2616753578186035},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.24303576350212097},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.18243974447250366},{"id":"https://openalex.org/C542102704","wikidata":"https://www.wikidata.org/wiki/Q183257","display_name":"Psychotherapist","level":1,"score":0.0},{"id":"https://openalex.org/C61714564","wikidata":"https://www.wikidata.org/wiki/Q7661185","display_name":"Symbolic programming","level":4,"score":0.0},{"id":"https://openalex.org/C15744967","wikidata":"https://www.wikidata.org/wiki/Q9418","display_name":"Psychology","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2517208.2517210","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2517208.2517210","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 12th international conference on Generative programming: concepts &amp; experiences","raw_type":"proceedings-article"},{"id":"pmh:oai:tubiblio.ulb.tu-darmstadt.de:65074","is_oa":false,"landing_page_url":"http://tubiblio.ulb.tu-darmstadt.de/view/person/Erdweg=3ASebastian=3A=3A.html>","pdf_url":null,"source":{"id":"https://openalex.org/S4377196390","display_name":"TUbilio (Technical University of Darmstadt)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I31512782","host_organization_name":"Technische Universit\u00e4t Darmstadt","host_organization_lineage":["https://openalex.org/I31512782"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"acceptedVersion","is_accepted":true,"is_published":false,"raw_source_name":null,"raw_type":"Konferenzver\u00f6ffentlichung"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.725.798","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.725.798","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.informatik.uni-marburg.de/%7Eseba/publications/language-extensibility-framework.pdf","raw_type":"text"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.5400000214576721}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W34477531","https://openalex.org/W121159850","https://openalex.org/W1495324919","https://openalex.org/W1523209168","https://openalex.org/W1606614601","https://openalex.org/W1975276861","https://openalex.org/W1978948468","https://openalex.org/W2009775190","https://openalex.org/W2021785886","https://openalex.org/W2022744394","https://openalex.org/W2026667713","https://openalex.org/W2036134187","https://openalex.org/W2040581748","https://openalex.org/W2041042116","https://openalex.org/W2065428406","https://openalex.org/W2078200248","https://openalex.org/W2080863863","https://openalex.org/W2100895292","https://openalex.org/W2108230680","https://openalex.org/W2125876733","https://openalex.org/W2145733441","https://openalex.org/W2191031914","https://openalex.org/W2296544889","https://openalex.org/W2904205446","https://openalex.org/W4235903093","https://openalex.org/W4285719527","https://openalex.org/W6604911598"],"related_works":["https://openalex.org/W1461715167","https://openalex.org/W2503106584","https://openalex.org/W2536586774","https://openalex.org/W2088827150","https://openalex.org/W2080748429","https://openalex.org/W1508054167","https://openalex.org/W3005563085","https://openalex.org/W1548776411","https://openalex.org/W2165533952","https://openalex.org/W2147393265"],"abstract_inverted_index":{"Extensible":[0],"programming":[1],"languages":[2],"such":[3],"as":[4,15],"SugarJ":[5],"or":[6,35],"Racket":[7],"enable":[8],"programmers":[9],"to":[10,31,98],"introduce":[11],"customary":[12],"language":[13,25,34,51,57,61,76],"features":[14,126],"extensions":[16,26],"of":[17,83,107],"the":[18,32,84,88,105],"base":[19,33,41,85],"language.":[20,42],"Traditionally,":[21],"systems":[22],"that":[23,53],"support":[24,38,129],"are":[27],"either":[28],"(i)":[29],"agnostic":[30],"(ii)":[36],"only":[37,80],"a":[39,48,55,75],"single":[40],"In":[43],"this":[44],"paper,":[45],"we":[46],"present":[47],"framework":[49,79,109],"for":[50,90,113],"extensibility":[52],"turns":[54],"non-extensible":[56],"into":[58],"an":[59],"extensible":[60,64,66,70],"featuring":[62],"library-based":[63],"syntax,":[65],"static":[67],"analyses,":[68],"and":[69,96,118,121,127],"editor":[71],"support.":[72],"To":[73],"make":[74],"extensible,":[77],"our":[78,108,131],"requires":[81],"knowledge":[82],"language's":[86],"grammar,":[87],"syntax":[89],"import":[91],"statements":[92],"(which":[93],"activate":[94],"extensions),":[95],"how":[97],"compile":[99],"base-language":[100],"programs.":[101],"We":[102],"have":[103],"evaluated":[104],"generality":[106],"by":[110,122],"instantiating":[111],"it":[112],"Java,":[114],"Haskell,":[115],"Prolog,":[116],"JavaScript,":[117],"System":[119],"F\u03c9,":[120],"studying":[123],"existing":[124],"module-system":[125],"their":[128],"in":[130],"framework.":[132]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":7},{"year":2014,"cited_by_count":6}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
