{"id":"https://openalex.org/W4293812580","doi":"https://doi.org/10.1145/3547629","title":"Datatype-generic programming meets elaborator reflection","display_name":"Datatype-generic programming meets elaborator reflection","publication_year":2022,"publication_date":"2022-08-29","ids":{"openalex":"https://openalex.org/W4293812580","doi":"https://doi.org/10.1145/3547629"},"language":"en","primary_location":{"id":"doi:10.1145/3547629","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547629","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547629","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3547629","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5041557082","display_name":"Hsiang\u2212Shang Ko","orcid":"https://orcid.org/0000-0002-2439-1048"},"institutions":[{"id":"https://openalex.org/I84653119","display_name":"Academia Sinica","ror":"https://ror.org/05bxb3784","country_code":"TW","type":"facility","lineage":["https://openalex.org/I84653119"]}],"countries":["TW"],"is_corresponding":false,"raw_author_name":"Hsiang-Shang Ko","raw_affiliation_strings":["Academia Sinica, Taiwan"],"raw_orcid":"https://orcid.org/0000-0002-2439-1048","affiliations":[{"raw_affiliation_string":"Academia Sinica, Taiwan","institution_ids":["https://openalex.org/I84653119"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072429061","display_name":"Liang-Ting Chen","orcid":"https://orcid.org/0000-0002-3250-1331"},"institutions":[{"id":"https://openalex.org/I84653119","display_name":"Academia Sinica","ror":"https://ror.org/05bxb3784","country_code":"TW","type":"facility","lineage":["https://openalex.org/I84653119"]}],"countries":["TW"],"is_corresponding":false,"raw_author_name":"Liang-Ting Chen","raw_affiliation_strings":["Academia Sinica, Taiwan"],"raw_orcid":"https://orcid.org/0000-0002-3250-1331","affiliations":[{"raw_affiliation_string":"Academia Sinica, Taiwan","institution_ids":["https://openalex.org/I84653119"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101729630","display_name":"Tzu-Chi Lin","orcid":"https://orcid.org/0000-0002-7656-6225"},"institutions":[{"id":"https://openalex.org/I84653119","display_name":"Academia Sinica","ror":"https://ror.org/05bxb3784","country_code":"TW","type":"facility","lineage":["https://openalex.org/I84653119"]}],"countries":["TW"],"is_corresponding":false,"raw_author_name":"Tzu-Chi Lin","raw_affiliation_strings":["Academia Sinica, Taiwan"],"raw_orcid":"https://orcid.org/0000-0002-7656-6225","affiliations":[{"raw_affiliation_string":"Academia Sinica, Taiwan","institution_ids":["https://openalex.org/I84653119"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I84653119"],"apc_list":null,"apc_paid":null,"fwci":0.2775,"has_fulltext":true,"cited_by_count":2,"citation_normalized_percentile":{"value":0.62974782,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":96},"biblio":{"volume":"6","issue":"ICFP","first_page":"225","last_page":"253"},"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/T10260","display_name":"Software Engineering Research","score":0.9994000196456909,"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.996999979019165,"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.8602999448776245},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.833019495010376},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.7510002851486206},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.7278811931610107},{"id":"https://openalex.org/keywords/reflection","display_name":"Reflection (computer programming)","score":0.6074969172477722},{"id":"https://openalex.org/keywords/metaprogramming","display_name":"Metaprogramming","score":0.44968998432159424}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8602999448776245},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.833019495010376},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.7510002851486206},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.7278811931610107},{"id":"https://openalex.org/C65682993","wikidata":"https://www.wikidata.org/wiki/Q1056451","display_name":"Reflection (computer programming)","level":2,"score":0.6074969172477722},{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.44968998432159424}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3547629","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547629","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547629","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3547629","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3547629","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3547629","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1024071245","display_name":null,"funder_award_id":"109-2222-E-001-002-MY3","funder_id":"https://openalex.org/F4320322795","funder_display_name":"Ministry of Science and Technology, Taiwan"},{"id":"https://openalex.org/G2205640134","display_name":null,"funder_award_id":"MOST 109","funder_id":"https://openalex.org/F4320322795","funder_display_name":"Ministry of Science and Technology, Taiwan"},{"id":"https://openalex.org/G3862518167","display_name":null,"funder_award_id":"MOST 109-","funder_id":"https://openalex.org/F4320322795","funder_display_name":"Ministry of Science and Technology, Taiwan"}],"funders":[{"id":"https://openalex.org/F4320322795","display_name":"Ministry of Science and Technology, Taiwan","ror":"https://ror.org/02kv4zf79"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4293812580.pdf","grobid_xml":"https://content.openalex.org/works/W4293812580.grobid-xml"},"referenced_works_count":42,"referenced_works":["https://openalex.org/W179773070","https://openalex.org/W1529606171","https://openalex.org/W1530957372","https://openalex.org/W1556604985","https://openalex.org/W1574092633","https://openalex.org/W1578113853","https://openalex.org/W1614164110","https://openalex.org/W1768450951","https://openalex.org/W1783167788","https://openalex.org/W1875842672","https://openalex.org/W2012619465","https://openalex.org/W2014995396","https://openalex.org/W2101274322","https://openalex.org/W2101425980","https://openalex.org/W2105815991","https://openalex.org/W2109775380","https://openalex.org/W2128197690","https://openalex.org/W2132221175","https://openalex.org/W2151520617","https://openalex.org/W2265625463","https://openalex.org/W2290325328","https://openalex.org/W2510914676","https://openalex.org/W2516238737","https://openalex.org/W2555814573","https://openalex.org/W2752261840","https://openalex.org/W2780807426","https://openalex.org/W2795350824","https://openalex.org/W2964150020","https://openalex.org/W2978136495","https://openalex.org/W3002727729","https://openalex.org/W3014596948","https://openalex.org/W3035097735","https://openalex.org/W3043607029","https://openalex.org/W3046312033","https://openalex.org/W3096577786","https://openalex.org/W3097948082","https://openalex.org/W3135820894","https://openalex.org/W4213279211","https://openalex.org/W4213453328","https://openalex.org/W4247440592","https://openalex.org/W4290095714","https://openalex.org/W4296959565"],"related_works":["https://openalex.org/W3137189469","https://openalex.org/W2140487696","https://openalex.org/W3160136729","https://openalex.org/W1998586093","https://openalex.org/W2080728122","https://openalex.org/W3162240892","https://openalex.org/W4246531319","https://openalex.org/W2088006200","https://openalex.org/W2027798793","https://openalex.org/W4293812580"],"abstract_inverted_index":{"Datatype-generic":[0],"programming":[1],"is":[2],"natural":[3],"and":[4,53,73,99,107,114],"useful":[5,102],"in":[6,16,86,112],"dependently":[7],"typed":[8],"languages":[9,154],"such":[10],"as":[11,21,23],"Agda.":[12],"However,":[13],"datatype-generic":[14,96,120],"libraries":[15,48,121],"Agda":[17,67,87,133],"are":[18,62],"not":[19,56],"reused":[20],"much":[22],"they":[24,29,54],"should":[25],"be,":[26],"because":[27],"traditionally":[28],"work":[30,57],"only":[31],"on":[32,58,79],"datatypes":[33,106],"decoded":[34],"from":[35],"a":[36,84,89,101],"library\u2019s":[37],"own":[38],"version":[39],"of":[40,91,104],"datatype":[41],"descriptions;":[42],"this":[43],"means":[44],"that":[45,119],"different":[46],"generic":[47],"cannot":[49],"be":[50,127,150],"used":[51,140],"together,":[52],"do":[55],"native":[59,105],"datatypes,":[60],"which":[61],"preferred":[63],"by":[64,141],"the":[65,131,136],"practical":[66,132],"programmer":[68],"for":[69,94],"better":[70],"language":[71],"support":[72],"access":[74],"to":[75,130,152],"other":[76,153],"libraries.":[77],"Based":[78],"elaborator":[80,137],"reflection,":[81],"we":[82],"present":[83],"framework":[85,125,143],"featuring":[88],"set":[90],"general":[92],"metaprograms":[93],"instantiating":[95],"programs":[97],"as,":[98],"for,":[100],"range":[103],"functions":[108],"\u2014including":[109],"universe-polymorphic":[110],"ones\u2014":[111],"programmer-friendly":[113],"customisable":[115],"forms.":[116],"We":[117],"expect":[118],"built":[122],"with":[123],"our":[124,142,147],"will":[126],"more":[128,145],"attractive":[129],"programmer.":[134],"As":[135],"reflection":[138],"features":[139],"become":[144],"widespread,":[146],"design":[148],"can":[149],"ported":[151],"too.":[155]},"counts_by_year":[{"year":2025,"cited_by_count":2}],"updated_date":"2026-06-26T08:34:08.712188","created_date":"2025-10-10T00:00:00"}
