{"id":"https://openalex.org/W1999551191","doi":"https://doi.org/10.1145/1596550.1596586","title":"Attribute grammars fly first-class","display_name":"Attribute grammars fly first-class","publication_year":2009,"publication_date":"2009-08-31","ids":{"openalex":"https://openalex.org/W1999551191","doi":"https://doi.org/10.1145/1596550.1596586","mag":"1999551191"},"language":"en","primary_location":{"id":"doi:10.1145/1596550.1596586","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1596550.1596586","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 14th ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"},"type":"article","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/A5026040673","display_name":"Marcos Viera","orcid":"https://orcid.org/0000-0003-2291-6151"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Marcos Viera","raw_affiliation_strings":["Universidad de Republica, Montevideo, Uruguay"],"affiliations":[{"raw_affiliation_string":"Universidad de Republica, Montevideo, Uruguay","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060098926","display_name":"S. Doaitse Swierstra","orcid":"https://orcid.org/0000-0001-6758-4280"},"institutions":[{"id":"https://openalex.org/I193662353","display_name":"Utrecht University","ror":"https://ror.org/04pp8hn57","country_code":"NL","type":"education","lineage":["https://openalex.org/I193662353"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"S. Doaitse Swierstra","raw_affiliation_strings":["Utrecht University, Utrecht, Netherlands"],"affiliations":[{"raw_affiliation_string":"Utrecht University, Utrecht, Netherlands","institution_ids":["https://openalex.org/I193662353"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5019085361","display_name":"Wouter Swierstra","orcid":"https://orcid.org/0000-0002-0295-7944"},"institutions":[{"id":"https://openalex.org/I66862912","display_name":"Chalmers University of Technology","ror":"https://ror.org/040wg7k59","country_code":"SE","type":"education","lineage":["https://openalex.org/I66862912"]}],"countries":["SE"],"is_corresponding":false,"raw_author_name":"Wouter Swierstra","raw_affiliation_strings":["Chalmers University of Technology, G\u00f6teborg, Sweden"],"affiliations":[{"raw_affiliation_string":"Chalmers University of Technology, G\u00f6teborg, Sweden","institution_ids":["https://openalex.org/I66862912"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5026040673"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.5426,"has_fulltext":false,"cited_by_count":40,"citation_normalized_percentile":{"value":0.96528694,"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":"245","last_page":"256"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"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"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9958000183105469,"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/T10317","display_name":"Advanced Database Systems and Queries","score":0.9941999912261963,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/haskell","display_name":"Haskell","score":0.8661918044090271},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7985785007476807},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7118129134178162},{"id":"https://openalex.org/keywords/l-attributed-grammar","display_name":"L-attributed grammar","score":0.6518393754959106},{"id":"https://openalex.org/keywords/rule-based-machine-translation","display_name":"Rule-based machine translation","score":0.6258620023727417},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.5932682752609253},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.5867767333984375},{"id":"https://openalex.org/keywords/combinatory-logic","display_name":"Combinatory logic","score":0.4961908459663391},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4742887616157532},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.47161227464675903},{"id":"https://openalex.org/keywords/algorithmic-program-debugging","display_name":"Algorithmic program debugging","score":0.4705648124217987},{"id":"https://openalex.org/keywords/embedding","display_name":"Embedding","score":0.44315534830093384},{"id":"https://openalex.org/keywords/abstract-data-type","display_name":"Abstract data type","score":0.4110196828842163},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.2911022901535034},{"id":"https://openalex.org/keywords/context-free-grammar","display_name":"Context-free grammar","score":0.20378068089485168},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.18583202362060547},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.1703965961933136}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8661918044090271},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7985785007476807},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7118129134178162},{"id":"https://openalex.org/C67621940","wikidata":"https://www.wikidata.org/wiki/Q3113340","display_name":"L-attributed grammar","level":4,"score":0.6518393754959106},{"id":"https://openalex.org/C53893814","wikidata":"https://www.wikidata.org/wiki/Q7378909","display_name":"Rule-based machine translation","level":2,"score":0.6258620023727417},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.5932682752609253},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.5867767333984375},{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.4961908459663391},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4742887616157532},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.47161227464675903},{"id":"https://openalex.org/C136388014","wikidata":"https://www.wikidata.org/wiki/Q17084976","display_name":"Algorithmic program debugging","level":3,"score":0.4705648124217987},{"id":"https://openalex.org/C41608201","wikidata":"https://www.wikidata.org/wiki/Q980509","display_name":"Embedding","level":2,"score":0.44315534830093384},{"id":"https://openalex.org/C175971053","wikidata":"https://www.wikidata.org/wiki/Q827335","display_name":"Abstract data type","level":2,"score":0.4110196828842163},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.2911022901535034},{"id":"https://openalex.org/C97212296","wikidata":"https://www.wikidata.org/wiki/Q338047","display_name":"Context-free grammar","level":3,"score":0.20378068089485168},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18583202362060547},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.1703965961933136}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1596550.1596586","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1596550.1596586","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 14th ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"},{"id":"pmh:oai:research.chalmers.se:114914","is_oa":false,"landing_page_url":"https://research.chalmers.se/en/publication/114914","pdf_url":null,"source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":28,"referenced_works":["https://openalex.org/W202283534","https://openalex.org/W1480380415","https://openalex.org/W1485908855","https://openalex.org/W1511091135","https://openalex.org/W1518576681","https://openalex.org/W1520309070","https://openalex.org/W1532865120","https://openalex.org/W1559059528","https://openalex.org/W1594279870","https://openalex.org/W1897069414","https://openalex.org/W1949136631","https://openalex.org/W1982209843","https://openalex.org/W1990527071","https://openalex.org/W1995675054","https://openalex.org/W2003127764","https://openalex.org/W2004155726","https://openalex.org/W2033272649","https://openalex.org/W2052801637","https://openalex.org/W2058162377","https://openalex.org/W2070811535","https://openalex.org/W2088372487","https://openalex.org/W2107214848","https://openalex.org/W2109518186","https://openalex.org/W2132310898","https://openalex.org/W2136651263","https://openalex.org/W2515102472","https://openalex.org/W4237116508","https://openalex.org/W4298474179"],"related_works":["https://openalex.org/W2063393078","https://openalex.org/W2741344200","https://openalex.org/W1556401754","https://openalex.org/W2155480936","https://openalex.org/W3006464425","https://openalex.org/W176405751","https://openalex.org/W1601811574","https://openalex.org/W2036208875","https://openalex.org/W4240871092","https://openalex.org/W2058003313"],"abstract_inverted_index":{"Attribute":[0],"Grammars":[1],"(AGs),":[2],"a":[3,50,75],"general-purpose":[4],"formalism":[5],"for":[6],"describing":[7],"recursive":[8],"computations":[9],"over":[10],"data":[11,29,32,42],"types,":[12],"avoid":[13],"the":[14],"trade-off":[15],"which":[16],"arises":[17],"when":[18],"building":[19],"software":[20],"incrementally:":[21],"should":[22],"it":[23],"be":[24],"easy":[25],"to":[26,36,56],"add":[27,37],"new":[28,38],"types":[30],"and":[31,60,67],"type":[33,54],"alternatives":[34],"or":[35],"operations":[39],"on":[40],"existing":[41],"types?":[43],"However,":[44],"AGs":[45],"are":[46],"usually":[47],"implemented":[48],"as":[49,74],"pre-processor,":[51],"leaving":[52],"e.g.":[53],"checking":[55],"later":[57],"processing":[58],"phases":[59],"making":[61],"interactive":[62],"development,":[63],"proper":[64],"error":[65],"reporting":[66],"debugging":[68],"difficult.":[69],"Embedding":[70],"AG":[71],"into":[72],"Haskell":[73],"combinator":[76],"library":[77],"solves":[78],"these":[79],"problems.":[80]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":5},{"year":2014,"cited_by_count":6},{"year":2013,"cited_by_count":7},{"year":2012,"cited_by_count":8}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
