{"id":"https://openalex.org/W4252367705","doi":"https://doi.org/10.1145/1411204.1411232","title":"Functional pearl","display_name":"Functional pearl","publication_year":2008,"publication_date":"2008-09-20","ids":{"openalex":"https://openalex.org/W4252367705","doi":"https://doi.org/10.1145/1411204.1411232"},"language":"en","primary_location":{"id":"doi:10.1145/1411204.1411232","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1411204.1411232","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 13th 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/A5063247380","display_name":"Ralf Hinze","orcid":"https://orcid.org/0000-0001-5678-0286"},"institutions":[{"id":"https://openalex.org/I40120149","display_name":"University of Oxford","ror":"https://ror.org/052gg0110","country_code":"GB","type":"education","lineage":["https://openalex.org/I40120149"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Ralf Hinze","raw_affiliation_strings":["University of Oxford, Oxford, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Oxford, Oxford, United Kingdom","institution_ids":["https://openalex.org/I40120149"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5063247380"],"corresponding_institution_ids":["https://openalex.org/I40120149"],"apc_list":null,"apc_paid":null,"fwci":5.7205,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.95920308,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"189","last_page":"200"},"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.9998999834060669,"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.9998999834060669,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","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/T10142","display_name":"Formal Methods in Verification","score":0.9990000128746033,"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/coinduction","display_name":"Coinduction","score":0.8661473989486694},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.8102637529373169},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7463251352310181},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6675350666046143},{"id":"https://openalex.org/keywords/constructive-proof","display_name":"Constructive proof","score":0.5696719288825989},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.5528264045715332},{"id":"https://openalex.org/keywords/calculus","display_name":"Calculus (dental)","score":0.528406023979187},{"id":"https://openalex.org/keywords/constructive","display_name":"Constructive","score":0.5277398824691772},{"id":"https://openalex.org/keywords/uniqueness","display_name":"Uniqueness","score":0.5029668211936951},{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.49392586946487427},{"id":"https://openalex.org/keywords/algebraic-number","display_name":"Algebraic number","score":0.41962194442749023},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.41902586817741394},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.3768613934516907},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.37547117471694946},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3615509867668152},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.3563210964202881},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.3055698573589325},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.19081205129623413},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.1393584907054901}],"concepts":[{"id":"https://openalex.org/C40220748","wikidata":"https://www.wikidata.org/wiki/Q4227156","display_name":"Coinduction","level":3,"score":0.8661473989486694},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.8102637529373169},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7463251352310181},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6675350666046143},{"id":"https://openalex.org/C202854965","wikidata":"https://www.wikidata.org/wiki/Q3044470","display_name":"Constructive proof","level":2,"score":0.5696719288825989},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.5528264045715332},{"id":"https://openalex.org/C2777686260","wikidata":"https://www.wikidata.org/wiki/Q144037","display_name":"Calculus (dental)","level":2,"score":0.528406023979187},{"id":"https://openalex.org/C2778701210","wikidata":"https://www.wikidata.org/wiki/Q28130034","display_name":"Constructive","level":3,"score":0.5277398824691772},{"id":"https://openalex.org/C2777021972","wikidata":"https://www.wikidata.org/wiki/Q22976830","display_name":"Uniqueness","level":2,"score":0.5029668211936951},{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.49392586946487427},{"id":"https://openalex.org/C9376300","wikidata":"https://www.wikidata.org/wiki/Q168817","display_name":"Algebraic number","level":2,"score":0.41962194442749023},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.41902586817741394},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3768613934516907},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.37547117471694946},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3615509867668152},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.3563210964202881},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.3055698573589325},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.19081205129623413},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.1393584907054901},{"id":"https://openalex.org/C199343813","wikidata":"https://www.wikidata.org/wiki/Q12128","display_name":"Dentistry","level":1,"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/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"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/C71924100","wikidata":"https://www.wikidata.org/wiki/Q11190","display_name":"Medicine","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"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/1411204.1411232","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1411204.1411232","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 13th ACM SIGPLAN international conference on Functional programming","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":9,"referenced_works":["https://openalex.org/W1543688617","https://openalex.org/W1897069414","https://openalex.org/W2037377172","https://openalex.org/W2050354778","https://openalex.org/W2107354844","https://openalex.org/W2126684544","https://openalex.org/W2133221106","https://openalex.org/W2140647971","https://openalex.org/W6676649285"],"related_works":["https://openalex.org/W2112263414","https://openalex.org/W1602185604","https://openalex.org/W3004782279","https://openalex.org/W2028779182","https://openalex.org/W4242678340","https://openalex.org/W2140654465","https://openalex.org/W2129253059","https://openalex.org/W4296274916","https://openalex.org/W1504459189","https://openalex.org/W1755575651"],"abstract_inverted_index":{"Streams,":[0],"infinite":[1],"sequences":[2],"of":[3,79,95,132],"elements,":[4],"live":[5],"in":[6,108],"a":[7,13,44,60],"coworld:":[8],"they":[9],"are":[10,20,27,106],"given":[11],"by":[12,22,111],"coinductive":[14],"data":[15,137],"type,":[16],"operations":[17],"on":[18,92],"streams":[19,87,102],"implemented":[21,107],"corecursive":[23],"programs,":[24],"and":[25,62,83,88,103,123],"proofs":[26],"conducted":[28],"using":[29,86,134],"coinduction.":[30],"But":[31],"there":[32],"is":[33,47,100,121],"more":[34],"to":[35,59,70,125],"it:":[36],"suitably":[37],"restricted,":[38],"stream":[39,89,104],"equations":[40],"possess":[41],"unique":[42,96],"solutions,":[43],"fact":[45],"that":[46,54],"not":[48],"very":[49],"widely":[50],"appreciated.":[51],"We":[52],"show":[53],"this":[55],"property":[56],"gives":[57],"rise":[58],"simple":[61],"attractive":[63],"proof":[64,131],"technique":[65],"essentially":[66],"bringing":[67],"equational":[68],"reasoning":[69],"the":[71,77,93,130],"coworld.":[72],"In":[73],"fact,":[74],"we":[75,128],"redevelop":[76],"theory":[78],"recurrences,":[80],"finite":[81],"calculus":[82,115],"generating":[84],"functions":[85],"operators":[90,105],"building":[91],"cornerstone":[94],"solutions.":[97],"The":[98,113],"development":[99],"constructive:":[101],"Haskell,":[109],"usually":[110],"one-liners.":[112],"resulting":[114],"or":[116],"library,":[117],"if":[118],"you":[119],"wish,":[120],"elegant":[122],"fun":[124],"use.":[126],"Finally,":[127],"rephrase":[129],"uniqueness":[133],"generalised":[135],"algebraic":[136],"types.":[138]},"counts_by_year":[{"year":2016,"cited_by_count":1},{"year":2013,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2022-05-12T00:00:00"}
