{"id":"https://openalex.org/W2016307966","doi":"https://doi.org/10.1017/s0956796801003914","title":"FUNCTIONAL PEARL <i>Unfolding pointer algorithms</i>","display_name":"FUNCTIONAL PEARL <i>Unfolding pointer algorithms</i>","publication_year":2001,"publication_date":"2001-05-01","ids":{"openalex":"https://openalex.org/W2016307966","doi":"https://doi.org/10.1017/s0956796801003914","mag":"2016307966"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796801003914","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796801003914","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6C58105CDEFA4B5B46D59F275575996B/S0956796801003914a.pdf/div-class-title-functional-pearl-span-class-italic-unfolding-pointer-algorithms-span-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6C58105CDEFA4B5B46D59F275575996B/S0956796801003914a.pdf/div-class-title-functional-pearl-span-class-italic-unfolding-pointer-algorithms-span-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5068829812","display_name":"Richard Bird","orcid":null},"institutions":[{"id":"https://openalex.org/I2802123492","display_name":"Oxford Research Group","ror":"https://ror.org/00z4w4f29","country_code":"GB","type":"nonprofit","lineage":["https://openalex.org/I2802123492"]},{"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":"RICHARD S. BIRD","raw_affiliation_strings":["Programming Research Group, Oxford University, Wolfson Building, Parks Road, Oxford OX1 3QD, UK","Programming Research Group, Oxford University, Wolfson Building, Parks Road, Oxford, OX1 3QD, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Programming Research Group, Oxford University, Wolfson Building, Parks Road, Oxford OX1 3QD, UK","institution_ids":["https://openalex.org/I2802123492","https://openalex.org/I40120149"]},{"raw_affiliation_string":"Programming Research Group, Oxford University, Wolfson Building, Parks Road, Oxford, OX1 3QD, UK","institution_ids":["https://openalex.org/I2802123492","https://openalex.org/I40120149"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5068829812"],"corresponding_institution_ids":["https://openalex.org/I2802123492","https://openalex.org/I40120149"],"apc_list":null,"apc_paid":null,"fwci":2.1866,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.89310691,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"11","issue":"3","first_page":"347","last_page":"358"},"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/T10317","display_name":"Advanced Database Systems and Queries","score":0.9932000041007996,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.9866999983787537,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7669544219970703},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.7530006170272827},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5712974071502686},{"id":"https://openalex.org/keywords/assertion","display_name":"Assertion","score":0.5107924938201904},{"id":"https://openalex.org/keywords/notation","display_name":"Notation","score":0.49161797761917114},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.47185325622558594},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.37994688749313354},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.16333216428756714},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.16061735153198242}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7669544219970703},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.7530006170272827},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5712974071502686},{"id":"https://openalex.org/C40422974","wikidata":"https://www.wikidata.org/wiki/Q741248","display_name":"Assertion","level":2,"score":0.5107924938201904},{"id":"https://openalex.org/C45357846","wikidata":"https://www.wikidata.org/wiki/Q2001982","display_name":"Notation","level":2,"score":0.49161797761917114},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.47185325622558594},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.37994688749313354},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.16333216428756714},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.16061735153198242}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796801003914","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796801003914","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6C58105CDEFA4B5B46D59F275575996B/S0956796801003914a.pdf/div-class-title-functional-pearl-span-class-italic-unfolding-pointer-algorithms-span-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1017/s0956796801003914","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796801003914","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6C58105CDEFA4B5B46D59F275575996B/S0956796801003914a.pdf/div-class-title-functional-pearl-span-class-italic-unfolding-pointer-algorithms-span-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2016307966.pdf","grobid_xml":"https://content.openalex.org/works/W2016307966.grobid-xml"},"referenced_works_count":18,"referenced_works":["https://openalex.org/W29163854","https://openalex.org/W1507693023","https://openalex.org/W1507902915","https://openalex.org/W1546899032","https://openalex.org/W1548258731","https://openalex.org/W1581217527","https://openalex.org/W1799755858","https://openalex.org/W1963928257","https://openalex.org/W1987160431","https://openalex.org/W1998875295","https://openalex.org/W2014653306","https://openalex.org/W2048168398","https://openalex.org/W2071455557","https://openalex.org/W2079388778","https://openalex.org/W2087565681","https://openalex.org/W2120897738","https://openalex.org/W2132058442","https://openalex.org/W2889368434"],"related_works":["https://openalex.org/W1498103021","https://openalex.org/W2035655557","https://openalex.org/W4230849338","https://openalex.org/W4295166216","https://openalex.org/W2177044681","https://openalex.org/W1968067090","https://openalex.org/W2090313512","https://openalex.org/W82217049","https://openalex.org/W2355140909","https://openalex.org/W1980881991"],"abstract_inverted_index":{"A":[0],"fair":[1],"amount":[2],"has":[3,77,150,165,197],"been":[4,78],"written":[5],"on":[6],"the":[7,26,30,49,72,115,129,157,192,207],"subject":[8],"of":[9,29,81,109,117,194,209],"reasoning":[10,119],"about":[11,18],"pointer":[12,56,215],"algorithms.":[13,217],"There":[14],"was":[15],"a":[16,68,79,167,210],"peak":[17],"1980":[19],"when":[20,140],"everyone":[21],"seemed":[22],"to":[23,151,155,162,214],"be":[24,138,152,181],"tackling":[25],"formal":[27],"verification":[28],"Schorr\u2013Waite":[31,46],"marking":[32],"algorithm,":[33],"including":[34],"Gries":[35],"(1979,":[36],"Morris":[37],"(1982)":[38],"and":[39,103,113,134,191],"Topor":[40],"(1979).":[41],"Bornat":[42],"(2000)":[43],"writes:":[44],"\u201cThe":[45],"algorithm":[47],"is":[48],"first":[50],"mountain":[51],"that":[52],"any":[53,143],"formalism":[54],"for":[55,67],"aliasing":[57],"should":[58],"climb\u201d.":[59],"Then":[60],"it":[61],"went":[62],"more":[63],"or":[64],"less":[65],"quiet":[66],"while,":[69],"but":[70,159,176],"in":[71,87,92,97,106,128,154,199],"last":[73],"few":[74],"years":[75],"there":[76],"resurgence":[80],"interest,":[82],"driven":[83],"by":[84,114],"new":[85],"ideas":[86],"relational":[88],"algebras":[89],"(M\u00f6eller,":[90],"1993),":[91],"data":[93],"refinement":[94],"Butler":[95],"(1999),":[96],"type":[98],"theory":[99],"(Hofmann,":[100],"2000;":[101],"Walker":[102],"Morrisett,":[104],"2000),":[105,112],"novel":[107],"kinds":[108],"assertion":[110],"(Reynolds,":[111],"demands":[116],"mechanised":[118],"(Bornat,":[120],"2000).":[121],"Most":[122],"approaches":[123],"end":[124],"up":[125],"being":[126],"based":[127],"Floyd\u2013Dijkstra\u2013Hoare":[130],"tradition":[131],"with":[132,142,201],"loops":[133],"invariant":[135],"assertions.":[136],"To":[137],"sure,":[139],"dealing":[141],"recursively-defined":[144],"linked":[145],"structure":[146,193],"some":[147],"declarative":[148],"notation":[149],"brought":[153],"specify":[156],"problem,":[158],"no":[160],"one":[161],"my":[163],"knowledge":[164],"advocated":[166],"purely":[168],"functional":[169,212],"approach":[170,213],"throughout.":[171],"Mason":[172],"(1988)":[173],"comes":[174],"close,":[175],"his":[177,195],"Lisp":[178],"expressions":[179],"can":[180],"very":[182],"impure.":[183],"M\u00f6ller":[184],"(1999)":[185],"also":[186],"exploits":[187],"an":[188],"algebraic":[189],"approach,":[190],"paper":[196],"much":[198],"common":[200],"what":[202],"follows.":[203],"This":[204],"pearl":[205],"explores":[206],"possibility":[208],"simple":[211],"manipulation":[216]},"counts_by_year":[{"year":2021,"cited_by_count":1}],"updated_date":"2026-05-27T06:14:07.914337","created_date":"2025-10-10T00:00:00"}
