{"id":"https://openalex.org/W2071866471","doi":"https://doi.org/10.1145/1017472.1017477","title":"Functional pearl","display_name":"Functional pearl","publication_year":2004,"publication_date":"2004-09-22","ids":{"openalex":"https://openalex.org/W2071866471","doi":"https://doi.org/10.1145/1017472.1017477","mag":"2071866471"},"language":"en","primary_location":{"id":"doi:10.1145/1017472.1017477","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1017472.1017477","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2004 ACM SIGPLAN workshop on Haskell","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/A5090954120","display_name":"Conor McBride","orcid":"https://orcid.org/0000-0003-1487-0886"},"institutions":[{"id":"https://openalex.org/I190082696","display_name":"Durham University","ror":"https://ror.org/01v29qb04","country_code":"GB","type":"education","lineage":["https://openalex.org/I190082696"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Conor McBride","raw_affiliation_strings":["University of Durham, Durham, England","University of Durham , Durham, England"],"affiliations":[{"raw_affiliation_string":"University of Durham, Durham, England","institution_ids":["https://openalex.org/I190082696"]},{"raw_affiliation_string":"University of Durham , Durham, England","institution_ids":["https://openalex.org/I190082696"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5047695892","display_name":"James McKinna","orcid":"https://orcid.org/0000-0001-6745-2560"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"James McKinna","raw_affiliation_strings":["University of St Andrews, St Andrews, Scotland"],"affiliations":[{"raw_affiliation_string":"University of St Andrews, St Andrews, Scotland","institution_ids":["https://openalex.org/I16835326"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5090954120"],"corresponding_institution_ids":["https://openalex.org/I190082696"],"apc_list":null,"apc_paid":null,"fwci":5.8462,"has_fulltext":false,"cited_by_count":53,"citation_normalized_percentile":{"value":0.95903163,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"9"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10181","display_name":"Natural Language Processing Techniques","score":0.9968000054359436,"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/T10181","display_name":"Natural Language Processing Techniques","score":0.9968000054359436,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9952999949455261,"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/T10028","display_name":"Topic Modeling","score":0.9890000224113464,"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/de-bruijn-sequence","display_name":"De Bruijn sequence","score":0.8052705526351929},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7515028715133667},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.6582782864570618},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.6516846418380737},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.6146965026855469},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.588858425617218},{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.5741574168205261},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.5012881755828857},{"id":"https://openalex.org/keywords/abstract-syntax","display_name":"Abstract syntax","score":0.475192666053772},{"id":"https://openalex.org/keywords/abstract-syntax-tree","display_name":"Abstract syntax tree","score":0.42766982316970825},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.4073294997215271},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3651955723762512},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.311710387468338},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.16627708077430725},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.108551025390625},{"id":"https://openalex.org/keywords/computer-security","display_name":"Computer security","score":0.07455962896347046},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.06832784414291382}],"concepts":[{"id":"https://openalex.org/C170320093","wikidata":"https://www.wikidata.org/wiki/Q1953457","display_name":"De Bruijn sequence","level":2,"score":0.8052705526351929},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7515028715133667},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.6582782864570618},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.6516846418380737},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.6146965026855469},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.588858425617218},{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.5741574168205261},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5012881755828857},{"id":"https://openalex.org/C114408938","wikidata":"https://www.wikidata.org/wiki/Q333373","display_name":"Abstract syntax","level":3,"score":0.475192666053772},{"id":"https://openalex.org/C58646249","wikidata":"https://www.wikidata.org/wiki/Q127380","display_name":"Abstract syntax tree","level":3,"score":0.42766982316970825},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.4073294997215271},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3651955723762512},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.311710387468338},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.16627708077430725},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.108551025390625},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.07455962896347046},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.06832784414291382},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.0},{"id":"https://openalex.org/C201995342","wikidata":"https://www.wikidata.org/wiki/Q682496","display_name":"Systems engineering","level":1,"score":0.0},{"id":"https://openalex.org/C94625758","wikidata":"https://www.wikidata.org/wiki/Q7163","display_name":"Politics","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C17744445","wikidata":"https://www.wikidata.org/wiki/Q36442","display_name":"Political science","level":0,"score":0.0},{"id":"https://openalex.org/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/1017472.1017477","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1017472.1017477","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2004 ACM SIGPLAN workshop on Haskell","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320320324","display_name":"University of Nottingham","ror":"https://ror.org/01ee9ar58"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":31,"referenced_works":["https://openalex.org/W18425853","https://openalex.org/W1482532876","https://openalex.org/W1483568252","https://openalex.org/W1488538795","https://openalex.org/W1503362807","https://openalex.org/W1507155521","https://openalex.org/W1511916234","https://openalex.org/W1511937404","https://openalex.org/W1538467230","https://openalex.org/W1554538776","https://openalex.org/W1573802872","https://openalex.org/W1587287586","https://openalex.org/W1606543423","https://openalex.org/W1975911435","https://openalex.org/W2050702141","https://openalex.org/W2062887328","https://openalex.org/W2072026461","https://openalex.org/W2118172707","https://openalex.org/W2123360309","https://openalex.org/W2149935768","https://openalex.org/W2406444852","https://openalex.org/W2483116820","https://openalex.org/W2568721247","https://openalex.org/W2799057409","https://openalex.org/W2912949875","https://openalex.org/W2913926271","https://openalex.org/W4285719527","https://openalex.org/W6628765052","https://openalex.org/W6629110257","https://openalex.org/W6630260797","https://openalex.org/W6714105228"],"related_works":["https://openalex.org/W2077104824","https://openalex.org/W2536864162","https://openalex.org/W2613250302","https://openalex.org/W2390421503","https://openalex.org/W2387926336","https://openalex.org/W2143166528","https://openalex.org/W2364428493","https://openalex.org/W4400066978","https://openalex.org/W2773378563","https://openalex.org/W2137850935"],"abstract_inverted_index":{"In":[0],"this":[1,125],"paper,":[2,126],"we":[3,38,61,85,100,127],"show":[4],"how":[5],"to":[6,22,115,131],"manipulate":[7],"syntax":[8,116],"with":[9,76,112],"binding":[10],"using":[11],"a":[12,87],"mixed":[13],"representation":[14,89],"of":[15,42,50,97,145],"names":[16,91],"for":[17,32,58,90,140],"free":[18],"variables":[19],"(with":[20],"respect":[21],"the":[23,40,56,67,71,95,98,122],"task":[24],"in":[25,124],"hand)":[26],"and":[27,106],"de":[28,52,77],"Bruijn":[29,53,78],"indices":[30,54],"[5]":[31],"bound":[33],"variables.":[34],"By":[35],"doing":[36],"so,":[37],"retain":[39],"advantages":[41],"both":[43],"representations:":[44],"naming":[45],"supports":[46],"easy,":[47],"arithmetic-free":[48],"manipulation":[49,117],"terms;":[51],"eliminate":[55],"need":[57,73],"\u03b1-conversion.":[59],"Further,":[60],"have":[62,129],"ensured":[63],"that":[64],"not":[65],"only":[66],"user":[68],"but":[69,143],"also":[70],"implementation":[72],"never":[74],"deal":[75],"indices,":[79],"except":[80],"within":[81],"key":[82],"basic":[83],"operations.Moreover,":[84],"give":[86],"hierarchical":[88],"which":[92],"naturally":[93],"reflects":[94],"structure":[96],"operations":[99],"implement.":[101],"Name":[102],"choice":[103],"is":[104],"safe":[105],"straightforward.":[107],"Our":[108,135],"technology":[109],"combines":[110],"easily":[111],"an":[113],"approach":[114],"inspired":[118],"by":[119],"Huet's":[120],"'zippers'[10].Without":[121],"ideas":[123],"would":[128],"struggled":[130],"implement":[132],"EPIGRAM":[133],"[19].":[134],"example-constructing":[136],"inductive":[137],"elimination":[138],"operators":[139],"datatype":[141],"families-is":[142],"one":[144],"many":[146],"where":[147],"it":[148],"proves":[149],"invaluable.":[150]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":3},{"year":2013,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2016-06-24T00:00:00"}
