{"id":"https://openalex.org/W2077753453","doi":"https://doi.org/10.1145/2502488.2502489","title":"Programming macro tree transducers","display_name":"Programming macro tree transducers","publication_year":2013,"publication_date":"2013-09-17","ids":{"openalex":"https://openalex.org/W2077753453","doi":"https://doi.org/10.1145/2502488.2502489","mag":"2077753453"},"language":"en","primary_location":{"id":"doi:10.1145/2502488.2502489","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2502488.2502489","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th ACM SIGPLAN workshop on Generic 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/A5015853763","display_name":"Patrick Bahr","orcid":"https://orcid.org/0000-0003-1600-8261"},"institutions":[{"id":"https://openalex.org/I124055696","display_name":"University of Copenhagen","ror":"https://ror.org/035b05819","country_code":"DK","type":"education","lineage":["https://openalex.org/I124055696"]}],"countries":["DK"],"is_corresponding":true,"raw_author_name":"Patrick Bahr","raw_affiliation_strings":["University of Copenhagen, Copenhagen, Denmark"],"affiliations":[{"raw_affiliation_string":"University of Copenhagen, Copenhagen, Denmark","institution_ids":["https://openalex.org/I124055696"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5019761321","display_name":"Laurence E. Day","orcid":null},"institutions":[{"id":"https://openalex.org/I142263535","display_name":"University of Nottingham","ror":"https://ror.org/01ee9ar58","country_code":"GB","type":"education","lineage":["https://openalex.org/I142263535"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Laurence E. Day","raw_affiliation_strings":["University of Nottingham, Nottingham, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Nottingham, Nottingham, United Kingdom","institution_ids":["https://openalex.org/I142263535"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5015853763"],"corresponding_institution_ids":["https://openalex.org/I124055696"],"apc_list":null,"apc_paid":null,"fwci":1.4832,"has_fulltext":false,"cited_by_count":4,"citation_normalized_percentile":{"value":0.86388475,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"61","last_page":"72"},"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.9991000294685364,"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.9991000294685364,"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.9980999827384949,"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/T10142","display_name":"Formal Methods in Verification","score":0.9977999925613403,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.8287388682365417},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7025242447853088},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.6875213980674744},{"id":"https://openalex.org/keywords/recursion","display_name":"Recursion (computer science)","score":0.6464118361473083},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.5940952897071838},{"id":"https://openalex.org/keywords/macro","display_name":"Macro","score":0.5676852464675903},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.4994008541107178},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.44385960698127747},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4394814074039459},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.41862428188323975},{"id":"https://openalex.org/keywords/tree-structure","display_name":"Tree structure","score":0.4123355746269226},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.29699423909187317},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.26692718267440796},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.18352872133255005},{"id":"https://openalex.org/keywords/binary-tree","display_name":"Binary tree","score":0.15860402584075928}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8287388682365417},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7025242447853088},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.6875213980674744},{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.6464118361473083},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.5940952897071838},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.5676852464675903},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.4994008541107178},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.44385960698127747},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4394814074039459},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.41862428188323975},{"id":"https://openalex.org/C163797641","wikidata":"https://www.wikidata.org/wiki/Q2067937","display_name":"Tree structure","level":3,"score":0.4123355746269226},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.29699423909187317},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.26692718267440796},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.18352872133255005},{"id":"https://openalex.org/C197855036","wikidata":"https://www.wikidata.org/wiki/Q380172","display_name":"Binary tree","level":2,"score":0.15860402584075928},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"score":0.0},{"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/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}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2502488.2502489","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2502488.2502489","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 9th ACM SIGPLAN workshop on Generic programming","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.431.5087","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.431.5087","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.pa-ba.info/pubs/files/bahr13wgp-paper.pdf","raw_type":"text"},{"id":"pmh:oai:pure.atira.dk:openaire_cris_publications/1ac76836-56e0-4b05-9fd6-4ecbc749b46a","is_oa":false,"landing_page_url":"https://researchprofiles.ku.dk/da/publications/1ac76836-56e0-4b05-9fd6-4ecbc749b46a","pdf_url":null,"source":{"id":"https://openalex.org/S4306401983","display_name":"Research at the University of Copenhagen (University of Copenhagen)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I124055696","host_organization_name":"University of Copenhagen","host_organization_lineage":["https://openalex.org/I124055696"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Bahr , P & Day , L E 2013 , Programming macro tree transducers . in Proceedings of the 9th ACM SIGPLAN Workshop on Generic Programming . Association for Computing Machinery , pp. 61-72 , 9th ACM SIGPLAN Workshop on Generic Programming , Boston , United States , 28/09/2013 . https://doi.org/10.1145/2502488.2502489","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:pure.atira.dk:publications/a08bc9c8-6e84-4327-837a-23b533866b9b","is_oa":false,"landing_page_url":"http://doi.acm.org/10.1145/2502488.2502489","pdf_url":null,"source":{"id":"https://openalex.org/S4377196680","display_name":"IT University Of Copenhagen (IT University of Copenhagen)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I83467386","host_organization_name":"IT University of Copenhagen","host_organization_lineage":["https://openalex.org/I83467386"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Bahr, P & Day, L E 2013, Programming macro tree transducers. i Proceedings of the 9th ACM SIGPLAN Workshop on Generic Programming. Association for Computing Machinery, New York, NY, USA, s. 61-72. https://doi.org/10.1145/2502488.2502489","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":39,"referenced_works":["https://openalex.org/W20126484","https://openalex.org/W84930537","https://openalex.org/W613810508","https://openalex.org/W1450823619","https://openalex.org/W1481596437","https://openalex.org/W1493576607","https://openalex.org/W1499686378","https://openalex.org/W1504220338","https://openalex.org/W1512845338","https://openalex.org/W1529035452","https://openalex.org/W1534324544","https://openalex.org/W1560599447","https://openalex.org/W1593799327","https://openalex.org/W1608714802","https://openalex.org/W1963587568","https://openalex.org/W1981992674","https://openalex.org/W1990282554","https://openalex.org/W1995386408","https://openalex.org/W1999551191","https://openalex.org/W2043548135","https://openalex.org/W2046933493","https://openalex.org/W2057292961","https://openalex.org/W2059690576","https://openalex.org/W2073732751","https://openalex.org/W2098942514","https://openalex.org/W2112966095","https://openalex.org/W2114780846","https://openalex.org/W2128517960","https://openalex.org/W2150256214","https://openalex.org/W2155863409","https://openalex.org/W2162741239","https://openalex.org/W2163552400","https://openalex.org/W2171679530","https://openalex.org/W2208923056","https://openalex.org/W2311486323","https://openalex.org/W2398941453","https://openalex.org/W3145985496","https://openalex.org/W4210277633","https://openalex.org/W4301884499"],"related_works":["https://openalex.org/W2801835562","https://openalex.org/W196828063","https://openalex.org/W4247743232","https://openalex.org/W4238447024","https://openalex.org/W1602185604","https://openalex.org/W2911281194","https://openalex.org/W173120711","https://openalex.org/W1488646450","https://openalex.org/W1984438291","https://openalex.org/W4239644657"],"abstract_inverted_index":{"A":[0],"tree":[1,13,19,48,72,96],"transducer":[2],"is":[3],"a":[4,66,75,99],"set":[5],"of":[6,34,38,60,68,94],"mutually":[7],"recursive":[8],"functions":[9],"transforming":[10],"an":[11,15,35,63],"input":[12],"into":[14],"output":[16],"tree.":[17],"Macro":[18],"transducers":[20,49,73],"extend":[21],"this":[22,42,109],"recursion":[23],"scheme":[24],"by":[25],"allowing":[26],"each":[27],"function":[28],"to":[29],"be":[30,51,82],"defined":[31],"in":[32,54],"terms":[33],"arbitrary":[36],"number":[37,67],"accumulation":[39],"parameters.":[40],"In":[41,70],"paper,":[43],"we":[44,107],"show":[45],"how":[46],"macro":[47],"can":[50,81],"concisely":[52],"represented":[53],"Haskell,":[55],"and":[56,85],"demonstrate":[57],"the":[58,91],"benefits":[59],"utilising":[61],"such":[62],"approach":[64],"with":[65],"examples.":[69],"particular,":[71],"afford":[74],"modular":[76],"programming":[77],"style":[78],"as":[79,106],"they":[80],"easily":[83],"composed":[84],"manipulated.":[86],"Our":[87],"Haskell":[88],"representation":[89],"generalises":[90],"original":[92],"definition":[93],"(macro)":[95],"transducers,":[97],"abolishing":[98],"restriction":[100],"on":[101],"finite":[102],"state":[103],"spaces.":[104],"However,":[105],"demonstrate,":[108],"generalisation":[110],"does":[111],"not":[112],"affect":[113],"compositionality.":[114]},"counts_by_year":[{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2014,"cited_by_count":1}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
