{"id":"https://openalex.org/W1514130096","doi":"https://doi.org/10.1017/s0956796800020074","title":"Functional Pearls: <i>On removing duplicates</i>","display_name":"Functional Pearls: <i>On removing duplicates</i>","publication_year":1991,"publication_date":"1991-04-01","ids":{"openalex":"https://openalex.org/W1514130096","doi":"https://doi.org/10.1017/s0956796800020074","mag":"1514130096"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796800020074","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796800020074","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/2CC831E0F77C77E86DD1E9AF165DECEE/S0956796800020074a.pdf/div-class-title-functional-pearls-span-class-italic-on-removing-duplicates-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/2CC831E0F77C77E86DD1E9AF165DECEE/S0956796800020074a.pdf/div-class-title-functional-pearls-span-class-italic-on-removing-duplicates-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, UK","Oxford University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Programming Research Group, Oxford University, UK","institution_ids":["https://openalex.org/I2802123492","https://openalex.org/I40120149"]},{"raw_affiliation_string":"Oxford University","institution_ids":["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":0.5131,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.5823522,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"1","issue":"2","first_page":"235","last_page":"243"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11567","display_name":"semigroups and automata theory","score":0.9635000228881836,"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"}},"topics":[{"id":"https://openalex.org/T11567","display_name":"semigroups and automata theory","score":0.9635000228881836,"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"}},{"id":"https://openalex.org/T10374","display_name":"Advanced Graph Theory Research","score":0.9545000195503235,"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"}},{"id":"https://openalex.org/T11727","display_name":"Advanced Algebra and Logic","score":0.9301999807357788,"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/subsequence","display_name":"Subsequence","score":0.8534627556800842},{"id":"https://openalex.org/keywords/longest-increasing-subsequence","display_name":"Longest increasing subsequence","score":0.7384611964225769},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7203882336616516},{"id":"https://openalex.org/keywords/longest-common-subsequence-problem","display_name":"Longest common subsequence problem","score":0.6056855916976929},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.5482613444328308},{"id":"https://openalex.org/keywords/operator","display_name":"Operator (biology)","score":0.5202597379684448},{"id":"https://openalex.org/keywords/order","display_name":"Order (exchange)","score":0.5198993682861328},{"id":"https://openalex.org/keywords/quadratic-equation","display_name":"Quadratic equation","score":0.5173789262771606},{"id":"https://openalex.org/keywords/position","display_name":"Position (finance)","score":0.49391990900039673},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4380631744861603},{"id":"https://openalex.org/keywords/combinatorics","display_name":"Combinatorics","score":0.419130802154541},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2819879949092865},{"id":"https://openalex.org/keywords/bounded-function","display_name":"Bounded function","score":0.07219484448432922}],"concepts":[{"id":"https://openalex.org/C137877099","wikidata":"https://www.wikidata.org/wiki/Q1332977","display_name":"Subsequence","level":3,"score":0.8534627556800842},{"id":"https://openalex.org/C170006305","wikidata":"https://www.wikidata.org/wiki/Q4183855","display_name":"Longest increasing subsequence","level":4,"score":0.7384611964225769},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7203882336616516},{"id":"https://openalex.org/C120098539","wikidata":"https://www.wikidata.org/wiki/Q141001","display_name":"Longest common subsequence problem","level":2,"score":0.6056855916976929},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.5482613444328308},{"id":"https://openalex.org/C17020691","wikidata":"https://www.wikidata.org/wiki/Q139677","display_name":"Operator (biology)","level":5,"score":0.5202597379684448},{"id":"https://openalex.org/C182306322","wikidata":"https://www.wikidata.org/wiki/Q1779371","display_name":"Order (exchange)","level":2,"score":0.5198993682861328},{"id":"https://openalex.org/C129844170","wikidata":"https://www.wikidata.org/wiki/Q41299","display_name":"Quadratic equation","level":2,"score":0.5173789262771606},{"id":"https://openalex.org/C198082294","wikidata":"https://www.wikidata.org/wiki/Q3399648","display_name":"Position (finance)","level":2,"score":0.49391990900039673},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4380631744861603},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.419130802154541},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2819879949092865},{"id":"https://openalex.org/C34388435","wikidata":"https://www.wikidata.org/wiki/Q2267362","display_name":"Bounded function","level":2,"score":0.07219484448432922},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C86339819","wikidata":"https://www.wikidata.org/wiki/Q407384","display_name":"Transcription factor","level":3,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","level":1,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"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/C158448853","wikidata":"https://www.wikidata.org/wiki/Q425218","display_name":"Repressor","level":4,"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/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796800020074","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796800020074","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/2CC831E0F77C77E86DD1E9AF165DECEE/S0956796800020074a.pdf/div-class-title-functional-pearls-span-class-italic-on-removing-duplicates-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/s0956796800020074","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796800020074","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/2CC831E0F77C77E86DD1E9AF165DECEE/S0956796800020074a.pdf/div-class-title-functional-pearls-span-class-italic-on-removing-duplicates-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":{"grobid_xml":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1514130096.pdf"},"referenced_works_count":2,"referenced_works":["https://openalex.org/W1546597693","https://openalex.org/W2500731725"],"related_works":["https://openalex.org/W1540010783","https://openalex.org/W3022573534","https://openalex.org/W1746697883","https://openalex.org/W4225868058","https://openalex.org/W4389489786","https://openalex.org/W2152064395","https://openalex.org/W4289596129","https://openalex.org/W2969919693","https://openalex.org/W3083981518","https://openalex.org/W3094761360"],"abstract_inverted_index":{"The":[0,16,30,162,182],"function":[1],"remdup":[2,20,50,77,101,151],"(also":[3],"called":[4],"mkset":[5],"in":[6,34,47,60,63,68,167],"some":[7],"functional":[8],"languages)":[9],"removes":[10],"duplicates":[11],"from":[12,41],"a":[13,26,80,174,193],"given":[14],"list.":[15],"following":[17],"definition":[18,44,150],"of":[19,55,58,76,82,124,195],"is":[21,45,84,134,160,168],"standard":[22],"and":[23,98,115],"leads":[24],"to":[25,186],"quadratic":[27,175],"time":[28,176],"algorithm":[29,177],"operator":[31],"(\u2014)":[32],"used":[33],"the":[35,53,61,74,86,96,104,109,116,122,125,130,135,140,148,155,179],"last":[36],"expression":[37],"subtracts":[38],"one":[39],"list":[40,54],"another;":[42],"its":[43],"Defined":[46],"this":[48,113],"way":[49],"x":[51,59,69,83,144,152],"returns":[52,153],"distinct":[56],"elements":[57],"order":[62],"which":[64],"they":[65],"first":[66],"appear":[67],".":[70],"In":[71],"other":[72],"words,":[73],"position":[75,123],"JC":[78],"as":[79],"subsequence":[81,126,136],"lexically":[85,105,129,156],"smallest":[87],"among":[88],"all":[89],"possible":[90],"solutions.":[91],"Now":[92],"let":[93],"us":[94],"change":[95],"problem":[97],"ask":[99],"that":[100,127],"simply":[102],"return":[103],"least":[106,157],"solution.":[107],"Note":[108],"subtle":[110],"difference":[111],"between":[112],"version":[114],"previous":[117],"one:":[118],"before,":[119],"it":[120,133,191],"was":[121,128],"least,":[131],"now":[132],"itself.":[137],"To":[138],"make":[139],"distinction":[141],"clear,":[142],"consider":[143],"=":[145],"[1,4,2,4,3].":[146],"With":[147],"original":[149],"[1,4,2,3];":[154],"subsequence,":[158],"however,":[159],"[1,2,4,3].":[161],"question":[163],"we":[164,171],"are":[165],"interested":[166],"this:":[169],"can":[170],"also":[172],"find":[173],"for":[178],"new":[180],"problem?":[181],"answer":[183],"turns":[184],"out":[185],"be":[187],"yes,":[188],"but":[189],"justifying":[190],"requires":[192],"bit":[194],"work.":[196]},"counts_by_year":[],"updated_date":"2026-05-27T06:14:07.914337","created_date":"2025-10-10T00:00:00"}
