{"id":"https://openalex.org/W4246781209","doi":"https://doi.org/10.1145/636517.636528","title":"Template meta-programming for Haskell","display_name":"Template meta-programming for Haskell","publication_year":2002,"publication_date":"2002-12-01","ids":{"openalex":"https://openalex.org/W4246781209","doi":"https://doi.org/10.1145/636517.636528"},"language":"en","primary_location":{"id":"doi:10.1145/636517.636528","doi":"https://doi.org/10.1145/636517.636528","is_oa":false,"landing_page_url":"https://doi.org/10.1145/636517.636528","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core"],"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGPLAN Notices","raw_type":"journal-article"},"volume":null,"type":"article","is_traditional":true,"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/A5018738393","display_name":"Tim Sheard","orcid":null,"observed_orcids":[]},"institutions":[{"id":"https://openalex.org/I165690674","display_name":"Oregon Health & Science University","ror":"https://ror.org/009avj582","country_code":"US","type":"education","lineage":["https://openalex.org/I165690674"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Tim Sheard","raw_affiliation_strings":["Oregon Health & Science University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Oregon Health & Science University","institution_ids":["https://openalex.org/I165690674"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5072362603","display_name":"Simon Jones","orcid":"https://orcid.org/0000-0002-6085-1435","observed_orcids":["https://orcid.org/0000-0002-6085-1435","https://orcid.org/0000-0003-4111-0591"]},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Simon Peyton Jones","raw_affiliation_strings":["Microsoft Research Ltd"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research Ltd","institution_ids":["https://openalex.org/I4210164937"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.641,"has_fulltext":false,"cited_by_count":179,"citation_normalized_percentile":{"value":0.9622066,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":100},"biblio":{"volume":"37","issue":"12","first_page":"60","last_page":"75"},"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.9994999766349792,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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/T11975","display_name":"Evolutionary Algorithms and Applications","score":9.999999747378752e-05,"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/T10904","display_name":"Embedded Systems Design Techniques","score":9.999999747378752e-05,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.8410000205039978},{"id":"https://openalex.org/keywords/inlining","display_name":"inlining","score":0.7149999737739563},{"id":"https://openalex.org/keywords/code-generation","display_name":"code generation","score":0.7310000061988831},{"id":"https://openalex.org/keywords/glasgow-haskell-compiler","display_name":"Glasgow Haskell Compiler","score":0.9100000262260437},{"id":"https://openalex.org/keywords/language-extension","display_name":"language extension","score":0.3880000114440918}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9690014123916626},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9223401546478271},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8255166411399841},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8176457285881042},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.7218619585037231},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6844619512557983},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6518413424491882},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.5031961798667908},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.4495686888694763},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.4306280314922333}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/636517.636528","doi":"https://doi.org/10.1145/636517.636528","is_oa":false,"landing_page_url":"https://doi.org/10.1145/636517.636528","pdf_url":null,"source":{"id":"https://openalex.org/S148324379","display_name":"ACM SIGPLAN Notices","issn_l":"0362-1340","issn":["0362-1340","1558-1160"],"is_oa":false,"is_in_doaj":false,"is_core":true,"listed_in":["cwts-core"],"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGPLAN Notices","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":13,"referenced_works":["https://openalex.org/W336063547","https://openalex.org/W1963538417","https://openalex.org/W1972301184","https://openalex.org/W2022475779","https://openalex.org/W2022623911","https://openalex.org/W2029786195","https://openalex.org/W2041042116","https://openalex.org/W2096314727","https://openalex.org/W2107776021","https://openalex.org/W2128151625","https://openalex.org/W2155110274","https://openalex.org/W2798277317","https://openalex.org/W2912745181"],"related_works":["https://openalex.org/W7096978557","https://openalex.org/W7002111743","https://openalex.org/W2131012971","https://openalex.org/W1521556077","https://openalex.org/W7100871271","https://openalex.org/W7097463420","https://openalex.org/W1822411953","https://openalex.org/W2112138644","https://openalex.org/W7096893884","https://openalex.org/W2041630899"],"abstract_inverted_index":{"We":[0],"propose":[1],"a":[2],"new":[3],"extension":[4],"to":[5,23,33,42],"the":[6,20,25,40,58,77],"purely":[7],"functional":[8],"programming":[9],"language":[10],"Haskell":[11,79],"that":[12],"supports":[13],"compile-time":[14],"meta-programming":[15],".":[16],"The":[17],"purpose":[18],"of":[19,28,60],"system":[21],"is":[22,73],"support":[24],"algorithmic":[26],"construction":[27],"programs":[29],"at":[30,36],"compile-time.The":[31],"ability":[32],"generate":[34],"code":[35],"compile":[37],"time":[38],"allows":[39],"programmer":[41],"implement":[43],"such":[44],"features":[45],"as":[46,55],"polytypic":[47],"programs,":[48],"macro-like":[49],"expansion,":[50],"user":[51],"directed":[52],"optimization":[53],"(such":[54],"inlining),":[56],"and":[57,64,70],"generation":[59],"supporting":[61],"data":[62,68],"structures":[63,69],"functions":[65],"from":[66],"existing":[67],"functions.Our":[71],"design":[72],"being":[74],"implemented":[75],"in":[76],"Glasgow":[78],"Compiler,":[80],"ghc.":[81]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":8},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":12},{"year":2019,"cited_by_count":12},{"year":2018,"cited_by_count":12},{"year":2017,"cited_by_count":11},{"year":2016,"cited_by_count":15},{"year":2015,"cited_by_count":11},{"year":2014,"cited_by_count":19},{"year":2013,"cited_by_count":12},{"year":2012,"cited_by_count":12}],"updated_date":"2026-11-10T11:39:43.021295","created_date":"2022-05-12T00:00:00"}
