{"id":"https://openalex.org/W1966356977","doi":"https://doi.org/10.1145/2505351.2505355","title":"Embrace, defend, extend","display_name":"Embrace, defend, extend","publication_year":2013,"publication_date":"2013-09-17","ids":{"openalex":"https://openalex.org/W1966356977","doi":"https://doi.org/10.1145/2505351.2505355","mag":"1966356977"},"language":"en","primary_location":{"id":"doi:10.1145/2505351.2505355","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2505351.2505355","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 1st annual workshop on Functional programming concepts in domain-specific languages","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/A5056024226","display_name":"Abhishek Kulkarni","orcid":"https://orcid.org/0000-0003-3789-002X"},"institutions":[{"id":"https://openalex.org/I4210119109","display_name":"Indiana University Bloomington","ror":"https://ror.org/02k40bc56","country_code":"US","type":"education","lineage":["https://openalex.org/I4210119109","https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Abhishek Kulkarni","raw_affiliation_strings":["Indiana University, Bloomington, Indiana, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indiana University, Bloomington, Indiana, USA","institution_ids":["https://openalex.org/I4210119109"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5078145335","display_name":"Ryan Newton","orcid":"https://orcid.org/0000-0003-3934-9165"},"institutions":[{"id":"https://openalex.org/I4210119109","display_name":"Indiana University Bloomington","ror":"https://ror.org/02k40bc56","country_code":"US","type":"education","lineage":["https://openalex.org/I4210119109","https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ryan R. Newton","raw_affiliation_strings":["Indiana University, Bloomington, Indiana, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indiana University, Bloomington, Indiana, USA","institution_ids":["https://openalex.org/I4210119109"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I4210119109"],"apc_list":null,"apc_paid":null,"fwci":1.357,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.77453447,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"27","last_page":"34"},"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.9994000196456909,"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.9994000196456909,"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/T10142","display_name":"Formal Methods in Verification","score":0.9986000061035156,"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"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9977999925613403,"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.8812980055809021},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.8016132712364197},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7818275094032288},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7512691020965576},{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.7181839942932129},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.6036297678947449},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5986506938934326},{"id":"https://openalex.org/keywords/digital-subscriber-line","display_name":"Digital subscriber line","score":0.596027672290802},{"id":"https://openalex.org/keywords/embedding","display_name":"Embedding","score":0.4797212481498718},{"id":"https://openalex.org/keywords/language-construct","display_name":"Language construct","score":0.4685206115245819},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.46765249967575073},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4490375220775604},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.4446674585342407},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4329940974712372},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.36247894167900085},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.18180391192436218},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.10823220014572144}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8812980055809021},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.8016132712364197},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7818275094032288},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7512691020965576},{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.7181839942932129},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.6036297678947449},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5986506938934326},{"id":"https://openalex.org/C201374245","wikidata":"https://www.wikidata.org/wiki/Q104534","display_name":"Digital subscriber line","level":2,"score":0.596027672290802},{"id":"https://openalex.org/C41608201","wikidata":"https://www.wikidata.org/wiki/Q980509","display_name":"Embedding","level":2,"score":0.4797212481498718},{"id":"https://openalex.org/C48859967","wikidata":"https://www.wikidata.org/wiki/Q6486712","display_name":"Language construct","level":2,"score":0.4685206115245819},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.46765249967575073},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4490375220775604},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.4446674585342407},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4329940974712372},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.36247894167900085},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18180391192436218},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.10823220014572144},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2505351.2505355","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2505351.2505355","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 1st annual workshop on Functional programming concepts in domain-specific languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/8","score":0.5799999833106995,"display_name":"Decent work and economic growth"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":25,"referenced_works":["https://openalex.org/W149492779","https://openalex.org/W1523648047","https://openalex.org/W1568192366","https://openalex.org/W1607207171","https://openalex.org/W1979457157","https://openalex.org/W1979811002","https://openalex.org/W1996060755","https://openalex.org/W2009464583","https://openalex.org/W2009775190","https://openalex.org/W2081124914","https://openalex.org/W2083310717","https://openalex.org/W2104958979","https://openalex.org/W2105655245","https://openalex.org/W2117848302","https://openalex.org/W2126711172","https://openalex.org/W2138163628","https://openalex.org/W2148599839","https://openalex.org/W2155762556","https://openalex.org/W2163229756","https://openalex.org/W2166813996","https://openalex.org/W2168113051","https://openalex.org/W2208923056","https://openalex.org/W2296133386","https://openalex.org/W2911472304","https://openalex.org/W4249695041"],"related_works":["https://openalex.org/W2058003313","https://openalex.org/W2402757940","https://openalex.org/W2112263414","https://openalex.org/W3004782279","https://openalex.org/W1602185604","https://openalex.org/W2028779182","https://openalex.org/W2183725039","https://openalex.org/W2169355987","https://openalex.org/W2135642511","https://openalex.org/W2501497985"],"abstract_inverted_index":{"Domain-specific":[0,18],"languages":[1,19,55],"offer":[2],"programming":[3],"abstractions":[4],"that":[5],"enable":[6],"higher":[7],"efficiency,":[8],"productivity":[9],"and":[10,34,36,71,112],"portability":[11],"specific":[12],"to":[13,48,105],"a":[14,31,42,57,92],"given":[15],"application":[16],"domain.":[17],"such":[20,50],"as":[21],"StreamIt":[22,96],"have":[23],"valuable":[24],"auto-parallelizing":[25],"code-generators,":[26],"but":[27],"they":[28],"require":[29],"learning":[30],"new":[32],"language":[33],"tool-chain":[35],"may":[37],"not":[38],"integrate":[39],"easily":[40],"with":[41,64],"larger":[43],"application.":[44],"One":[45],"solution":[46],"is":[47],"transform":[49],"standalone":[51],"DSLs":[52],"into":[53],"embedded":[54],"within":[56],"general-purpose":[58],"host":[59],"language.":[60],"This":[61],"prospect":[62],"comes":[63],"its":[65],"own":[66],"challenges,":[67,84],"namely":[68],"the":[69,75,89],"compile-time":[70],"runtime":[72],"integration":[73],"of":[74,91,95,109,116],"two":[76],"languages.":[77],"In":[78],"this":[79,101],"paper,":[80],"we":[81,103],"address":[82],"these":[83],"presenting":[85],"our":[86],"solutions":[87],"in":[88,97],"context":[90],"prototype":[93],"embedding":[94],"Haskell.":[98],"By":[99],"demonstrating":[100],"methodology,":[102],"hope":[104],"encourage":[106],"more":[107],"reuse":[108],"DSL":[110],"technology,":[111],"fewer":[113],"short-lived":[114],"reimplementations":[115],"existing":[117],"techniques.":[118]},"counts_by_year":[{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
