{"id":"https://openalex.org/W2122815041","doi":"https://doi.org/10.1017/s0956796897002852","title":"A new method for functional arrays","display_name":"A new method for functional arrays","publication_year":1997,"publication_date":"1997-09-01","ids":{"openalex":"https://openalex.org/W2122815041","doi":"https://doi.org/10.1017/s0956796897002852","mag":"2122815041"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796897002852","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796897002852","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/7BBFBB58A34DFC28CBF0E758D989D622/S0956796897002852a.pdf/div-class-title-a-new-method-for-functional-arrays-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/7BBFBB58A34DFC28CBF0E758D989D622/S0956796897002852a.pdf/div-class-title-a-new-method-for-functional-arrays-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5023450850","display_name":"Melissa O'Neill","orcid":null},"institutions":[{"id":"https://openalex.org/I18014758","display_name":"Simon Fraser University","ror":"https://ror.org/0213rcc28","country_code":"CA","type":"education","lineage":["https://openalex.org/I18014758"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"MELISSA E. O'NEILL","raw_affiliation_strings":["School of Computer Science, Simon Fraser University, Canada","Sch. of Comput. Sci., Simon Fraser Univ., Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science, Simon Fraser University, Canada","institution_ids":["https://openalex.org/I18014758"]},{"raw_affiliation_string":"Sch. of Comput. Sci., Simon Fraser Univ., Canada","institution_ids":["https://openalex.org/I18014758"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5067382904","display_name":"F. Warren Burton","orcid":null},"institutions":[{"id":"https://openalex.org/I18014758","display_name":"Simon Fraser University","ror":"https://ror.org/0213rcc28","country_code":"CA","type":"education","lineage":["https://openalex.org/I18014758"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"F. WARREN BURTON","raw_affiliation_strings":["School of Computer Science, Simon Fraser University, Canada","Sch. of Comput. Sci., Simon Fraser Univ., Canada"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science, Simon Fraser University, Canada","institution_ids":["https://openalex.org/I18014758"]},{"raw_affiliation_string":"Sch. of Comput. Sci., Simon Fraser Univ., Canada","institution_ids":["https://openalex.org/I18014758"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I18014758"],"apc_list":null,"apc_paid":null,"fwci":1.7158,"has_fulltext":true,"cited_by_count":23,"citation_normalized_percentile":{"value":0.87142857,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"7","issue":"5","first_page":"487","last_page":"513"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"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"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9994999766349792,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9976999759674072,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8439394235610962},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.6780961155891418},{"id":"https://openalex.org/keywords/amortized-analysis","display_name":"Amortized analysis","score":0.663876473903656},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6565731167793274},{"id":"https://openalex.org/keywords/array-data-structure","display_name":"Array data structure","score":0.5425084829330444},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.518404483795166},{"id":"https://openalex.org/keywords/range","display_name":"Range (aeronautics)","score":0.4768886864185333},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3660677671432495},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.36447685956954956},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.34393155574798584}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8439394235610962},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.6780961155891418},{"id":"https://openalex.org/C142417499","wikidata":"https://www.wikidata.org/wiki/Q331716","display_name":"Amortized analysis","level":3,"score":0.663876473903656},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6565731167793274},{"id":"https://openalex.org/C146064661","wikidata":"https://www.wikidata.org/wiki/Q186152","display_name":"Array data structure","level":2,"score":0.5425084829330444},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.518404483795166},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.4768886864185333},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3660677671432495},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.36447685956954956},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.34393155574798584},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"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/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796897002852","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796897002852","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/7BBFBB58A34DFC28CBF0E758D989D622/S0956796897002852a.pdf/div-class-title-a-new-method-for-functional-arrays-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/s0956796897002852","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796897002852","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/7BBFBB58A34DFC28CBF0E758D989D622/S0956796897002852a.pdf/div-class-title-a-new-method-for-functional-arrays-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":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2122815041.pdf","grobid_xml":"https://content.openalex.org/works/W2122815041.grobid-xml"},"referenced_works_count":33,"referenced_works":["https://openalex.org/W8290509","https://openalex.org/W127380945","https://openalex.org/W143453603","https://openalex.org/W656501022","https://openalex.org/W1484366641","https://openalex.org/W1484930340","https://openalex.org/W1517566965","https://openalex.org/W1549205822","https://openalex.org/W1577072106","https://openalex.org/W1987189637","https://openalex.org/W1987927249","https://openalex.org/W1992695751","https://openalex.org/W2026511056","https://openalex.org/W2037984920","https://openalex.org/W2059162412","https://openalex.org/W2062950667","https://openalex.org/W2082433897","https://openalex.org/W2082569622","https://openalex.org/W2090587238","https://openalex.org/W2121762814","https://openalex.org/W2128038421","https://openalex.org/W2130055503","https://openalex.org/W2139797442","https://openalex.org/W2141833661","https://openalex.org/W2142947709","https://openalex.org/W2158218093","https://openalex.org/W2295914203","https://openalex.org/W2788695972","https://openalex.org/W2912106379","https://openalex.org/W4213048098","https://openalex.org/W4242747912","https://openalex.org/W6601144588","https://openalex.org/W6601963440"],"related_works":["https://openalex.org/W8290509","https://openalex.org/W2184537587","https://openalex.org/W2065411828","https://openalex.org/W3092127654","https://openalex.org/W1482484961","https://openalex.org/W4246145339","https://openalex.org/W2076407808","https://openalex.org/W2018777660","https://openalex.org/W4235291009","https://openalex.org/W2122815041"],"abstract_inverted_index":{"Arrays":[0],"are":[1,221],"probably":[2],"the":[3,47,58,79,89,122,141,168,186,207,210,216],"most":[4,34,197],"widely":[5],"used":[6],"data":[7,37,76,85,133],"structure":[8,77],"in":[9,20,46,223],"imperative":[10,84,119,142],"programming":[11],"languages,":[12],"yet":[13],"functional":[14,48,80,116,125],"languages":[15],"typically":[16],"only":[17],"support":[18,71,97,137],"arrays":[19,51,72,112,120],"a":[21,74,114,171],"limited":[22],"manner,":[23],"or":[24,87,103,189,193],"prohibit":[25],"them":[26],"entirely.":[27],"This":[28],"is":[29,93,206],"not":[30,184],"too":[31,94],"surprising,":[32],"since":[33],"other":[35,83],"mutable":[36],"structures,":[38],"such":[39],"as":[40,73,113,174],"trees,":[41],"have":[42,60,106,127],"elegant":[43],"immutable":[44],"analogues":[45,81],"world,":[49,143],"whereas":[50],"do":[52,183],"not.":[53],"Previous":[54],"attempts":[55],"at":[56,161,196],"addressing":[57],"problem":[59],"suffered":[61],"from":[62,131,140],"one":[63],"of":[64,82,91,118,177,209,218],"three":[65],"weaknesses,":[66],"either":[67],"that":[68,88,104,124,167,215],"they":[69,105],"don't":[70],"persistent":[75,154],"(unlike":[78],"structures),":[86],"range":[90],"operations":[92,148],"restrictive":[95],"to":[96,129,175],"some":[98],"common":[99],"array":[100,138,151,155,187,191],"algorithms":[101,139,181],"efficiently,":[102],"performance":[107],"problems.":[108],"Our":[109],"technique":[110,220],"provides":[111],"true":[115],"analogue":[117],"with":[121],"properties":[123],"programmers":[126],"come":[128],"expect":[130],"their":[132],"structures.":[134],"To":[135],"efficiently":[136],"we":[144],"provide":[145],"O":[146,162,198],"(1)":[147,163],"for":[149,225],"single-threaded":[150],"use.":[152],"Fully":[153],"use":[156],"can":[157],"also":[158],"be":[159],"provided":[160,166],"amortized":[164,202],"cost,":[165],"algorithm":[169],"satisfies":[170],"simple":[172],"requirement":[173],"uniformity":[176],"access.":[178],"For":[179],"those":[180],"which":[182],"access":[185],"uniformly":[188],"single-threadedly,":[190],"reads":[192],"updates":[194],"take":[195],"(log":[199],"n":[200,205],")":[201],"time,":[203],"where":[204],"size":[208],"array.":[211],"Experimental":[212],"results":[213],"indicate":[214],"overheads":[217],"our":[219],"acceptable":[222],"practice":[224],"many":[226],"applications.":[227]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2016,"cited_by_count":2}],"updated_date":"2026-08-03T07:22:36.454288","created_date":"2025-10-10T00:00:00"}
