{"id":"https://openalex.org/W2143932292","doi":"https://doi.org/10.1145/2517208.2517220","title":"Forge","display_name":"Forge","publication_year":2013,"publication_date":"2013-10-23","ids":{"openalex":"https://openalex.org/W2143932292","doi":"https://doi.org/10.1145/2517208.2517220","mag":"2143932292"},"language":"en","primary_location":{"id":"doi:10.1145/2517208.2517220","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2517208.2517220","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":true,"oa_status":"green","oa_url":"http://infoscience.epfl.ch/record/201033","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5027289345","display_name":"Arvind K. Sujeeth","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Arvind K. Sujeeth","raw_affiliation_strings":["Stanford University, Stanford, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, CA, USA","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045499956","display_name":"Austin Gibbons","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Austin Gibbons","raw_affiliation_strings":["Stanford University, Stanford, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, CA, USA","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5103616447","display_name":"Kevin J. Brown","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kevin J. Brown","raw_affiliation_strings":["Stanford University, Stanford, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, CA, USA","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5047315031","display_name":"HyoukJoong Lee","orcid":null},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"HyoukJoong Lee","raw_affiliation_strings":["Stanford University, Stanford, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, CA, USA","institution_ids":["https://openalex.org/I97018004"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5003153354","display_name":"Tiark Rompf","orcid":"https://orcid.org/0000-0002-2068-3238"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Tiark Rompf","raw_affiliation_strings":["Oracle Labs &amp; EPFL, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oracle Labs &amp; EPFL, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5085410724","display_name":"Martin Odersky","orcid":"https://orcid.org/0009-0005-3923-8993"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Martin Odersky","raw_affiliation_strings":["EPFL, Lausanne, Switzerland"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"EPFL, Lausanne, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5023857198","display_name":"Kunle Olukotun","orcid":"https://orcid.org/0000-0002-8779-0636"},"institutions":[{"id":"https://openalex.org/I97018004","display_name":"Stanford University","ror":"https://ror.org/00f54p054","country_code":"US","type":"education","lineage":["https://openalex.org/I97018004"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kunle Olukotun","raw_affiliation_strings":["Stanford University, Stanford, CA, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Stanford University, Stanford, CA, USA","institution_ids":["https://openalex.org/I97018004"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.6899,"has_fulltext":false,"cited_by_count":32,"citation_normalized_percentile":{"value":0.90574759,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"145","last_page":"154"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9988999962806702,"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.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/digital-subscriber-line","display_name":"Digital subscriber line","score":0.955601692199707},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8954137563705444},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.6754920482635498},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6404977440834045},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.5988798141479492},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5750241279602051},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.556229829788208},{"id":"https://openalex.org/keywords/forge","display_name":"Forge","score":0.5504745244979858},{"id":"https://openalex.org/keywords/spark","display_name":"SPARK (programming language)","score":0.5259095430374146},{"id":"https://openalex.org/keywords/source-lines-of-code","display_name":"Source lines of code","score":0.44563719630241394},{"id":"https://openalex.org/keywords/concurrency","display_name":"Concurrency","score":0.4266442060470581},{"id":"https://openalex.org/keywords/scripting-language","display_name":"Scripting language","score":0.4163321852684021},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.41221103072166443},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.3774360120296478},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3758228123188019},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.32911184430122375},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.18364423513412476}],"concepts":[{"id":"https://openalex.org/C201374245","wikidata":"https://www.wikidata.org/wiki/Q104534","display_name":"Digital subscriber line","level":2,"score":0.955601692199707},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8954137563705444},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.6754920482635498},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6404977440834045},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.5988798141479492},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5750241279602051},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.556229829788208},{"id":"https://openalex.org/C2778157309","wikidata":"https://www.wikidata.org/wiki/Q40558","display_name":"Forge","level":3,"score":0.5504745244979858},{"id":"https://openalex.org/C2781215313","wikidata":"https://www.wikidata.org/wiki/Q3493345","display_name":"SPARK (programming language)","level":2,"score":0.5259095430374146},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.44563719630241394},{"id":"https://openalex.org/C193702766","wikidata":"https://www.wikidata.org/wiki/Q1414548","display_name":"Concurrency","level":2,"score":0.4266442060470581},{"id":"https://openalex.org/C61423126","wikidata":"https://www.wikidata.org/wiki/Q187432","display_name":"Scripting language","level":2,"score":0.4163321852684021},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.41221103072166443},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.3774360120296478},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3758228123188019},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.32911184430122375},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.18364423513412476},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C191897082","wikidata":"https://www.wikidata.org/wiki/Q11467","display_name":"Metallurgy","level":1,"score":0.0},{"id":"https://openalex.org/C96494537","wikidata":"https://www.wikidata.org/wiki/Q193057","display_name":"Forging","level":2,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2517208.2517220","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2517208.2517220","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:infoscience.epfl.ch:201033","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/201033","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},{"id":"pmh:oai:infoscience.tind.io:201033","is_oa":true,"landing_page_url":"https://infoscience.epfl.ch/handle/20.500.14299/106100","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"research article"}],"best_oa_location":{"id":"pmh:oai:infoscience.epfl.ch:201033","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/201033","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"},"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":35,"referenced_works":["https://openalex.org/W1510956003","https://openalex.org/W1528193315","https://openalex.org/W1556859836","https://openalex.org/W1598796492","https://openalex.org/W1749979338","https://openalex.org/W1978924650","https://openalex.org/W2008070495","https://openalex.org/W2022744394","https://openalex.org/W2026049208","https://openalex.org/W2026667713","https://openalex.org/W2054056443","https://openalex.org/W2064766209","https://openalex.org/W2078200248","https://openalex.org/W2081418732","https://openalex.org/W2085123413","https://openalex.org/W2088675571","https://openalex.org/W2094455839","https://openalex.org/W2100830825","https://openalex.org/W2101718506","https://openalex.org/W2102874028","https://openalex.org/W2104329103","https://openalex.org/W2123092976","https://openalex.org/W2125872407","https://openalex.org/W2130179171","https://openalex.org/W2131975293","https://openalex.org/W2138163628","https://openalex.org/W2147578933","https://openalex.org/W2154968583","https://openalex.org/W2163961697","https://openalex.org/W2164106630","https://openalex.org/W2240938131","https://openalex.org/W3017193247","https://openalex.org/W4235903093","https://openalex.org/W4285719527","https://openalex.org/W6633147234"],"related_works":["https://openalex.org/W2119542776","https://openalex.org/W2460228634","https://openalex.org/W2014596857","https://openalex.org/W2582410692","https://openalex.org/W1485300234","https://openalex.org/W2258960507","https://openalex.org/W2140083133","https://openalex.org/W2097052821","https://openalex.org/W3195685258","https://openalex.org/W3124124991"],"abstract_inverted_index":{"Domain-specific":[0],"languages":[1],"provide":[2],"a":[3,47,76,90,99,110,165,172],"promising":[4],"path":[5],"to":[6,11,28,124,128,152,164,199,213,216],"automatically":[7,87],"compile":[8],"high-level":[9,63,84,159],"code":[10,180],"parallel,":[12],"heterogeneous,":[13],"and":[14,30,38,98,121,134,150,181,210],"distributed":[15,160],"hardware.":[16],"However,":[17],"in":[18,75,177,206],"practice":[19],"high":[20,54,80,100],"performance":[21,55,101],"DSLs":[22,143,212],"still":[23],"require":[24],"considerable":[25],"software":[26],"expertise":[27],"develop":[29],"force":[31],"users":[32],"into":[33],"tool-chains":[34],"that":[35,78],"hinder":[36],"prototyping":[37],"debugging.":[39],"To":[40],"address":[41],"these":[42],"problems,":[43],"we":[44],"present":[45],"Forge,":[46],"new":[48],"meta":[49],"DSL":[50,60,74,97,106,112,202],"for":[51,71],"declaratively":[52],"specifying":[53,72],"embedded":[56],"DSLs.":[57],"Forge":[58,86,170,188],"provides":[59,171],"authors":[61],"with":[62],"abstractions":[64],"(e.g.,":[65],"data":[66],"structures,":[67],"parallel":[68],"patterns,":[69],"effects)":[70],"their":[73,115],"way":[77],"permits":[79],"performance.":[81,186],"From":[82],"this":[83],"specification,":[85],"generates":[88],"both":[89],"na\u00efve":[91],"Scala":[92,195],"library":[93,119],"implementation":[94],"of":[95,109,147,174,179],"the":[96,104,118,125,138,207],"version":[102,127],"using":[103,117],"Delite":[105,126,142,168,208],"framework.":[107],"Users":[108],"Forge-generated":[111,141],"can":[113,190],"prototype":[114],"application":[116,139],"version,":[120],"then":[122],"switch":[123],"run":[129],"on":[130],"multicore":[131],"CPUs,":[132],"GPUs,":[133],"clusters":[135],"without":[136],"changing":[137],"code.":[140],"perform":[144],"within":[145],"2x":[146],"hand-optimized":[148],"C++":[149],"up":[151],"40x":[153],"better":[154],"than":[155],"Spark,":[156],"an":[157],"alternative":[158],"programming":[161],"environment.":[162],"Compared":[163],"manually":[166],"implemented":[167],"DSL,":[169],"factor":[173],"3-6x":[175],"reduction":[176],"lines":[178],"does":[182],"not":[183],"sacrifice":[184],"any":[185],"Furthermore,":[187],"specifications":[189],"be":[191,214],"generated":[192],"from":[193,204],"existing":[194],"libraries,":[196],"are":[197],"easy":[198],"maintain,":[200],"shield":[201],"developers":[203],"changes":[205],"framework,":[209],"enable":[211],"retargeted":[215],"other":[217],"frameworks":[218],"transparently.":[219]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":4},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":8}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2016-06-24T00:00:00"}
