{"id":"https://openalex.org/W2141447233","doi":"https://doi.org/10.1017/s095679680000068x","title":"Pattern matching with abstract data types","display_name":"Pattern matching with abstract data types","publication_year":1993,"publication_date":"1993-04-01","ids":{"openalex":"https://openalex.org/W2141447233","doi":"https://doi.org/10.1017/s095679680000068x","mag":"2141447233"},"language":"en","primary_location":{"id":"doi:10.1017/s095679680000068x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679680000068x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/04DD26A0E6CA3A1E87E0E6AE8BC02EED/S095679680000068Xa.pdf/div-class-title-pattern-matching-with-abstract-data-types-a-href-fn01-ref-type-fn-span-class-sup-1-span-a-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/04DD26A0E6CA3A1E87E0E6AE8BC02EED/S095679680000068Xa.pdf/div-class-title-pattern-matching-with-abstract-data-types-a-href-fn01-ref-type-fn-span-class-sup-1-span-a-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","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 Computing Science, Simon Fraser University, Burnaby, British Columbia, CanadaV5A 1S6 (e-mail:","School of Computing Science, Simon Fraser University, Burnaby, British Columbia, Canada V5A 1S6"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computing Science, Simon Fraser University, Burnaby, British Columbia, CanadaV5A 1S6 (e-mail:","institution_ids":["https://openalex.org/I18014758"]},{"raw_affiliation_string":"School of Computing Science, Simon Fraser University, Burnaby, British Columbia, Canada V5A 1S6","institution_ids":["https://openalex.org/I18014758"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5103491962","display_name":"Robert D. Cameron","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":"Robert D Cameron","raw_affiliation_strings":["School of Computing Science, Simon Fraser University, Burnaby, British Columbia, CanadaV5A 1S6 (e-mail:","School of Computing Science, Simon Fraser University, Burnaby, British Columbia, Canada V5A 1S6"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computing Science, Simon Fraser University, Burnaby, British Columbia, CanadaV5A 1S6 (e-mail:","institution_ids":["https://openalex.org/I18014758"]},{"raw_affiliation_string":"School of Computing Science, Simon Fraser University, Burnaby, British Columbia, Canada V5A 1S6","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":{"value":2660,"currency":"USD","value_usd":2660},"apc_paid":null,"fwci":1.6281,"has_fulltext":true,"cited_by_count":32,"citation_normalized_percentile":{"value":0.85898241,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":"3","issue":"2","first_page":"171","last_page":"190"},"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.9990000128746033,"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.9990000128746033,"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.9954000115394592,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9872000217437744,"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/haskell","display_name":"Haskell","score":0.8791801333427429},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8394812345504761},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.6161214113235474},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6103888154029846},{"id":"https://openalex.org/keywords/matching","display_name":"Matching (statistics)","score":0.5445665121078491},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.4772355854511261},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4607698619365692},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.452330619096756},{"id":"https://openalex.org/keywords/representation","display_name":"Representation (politics)","score":0.4442433714866638},{"id":"https://openalex.org/keywords/abstract-data-type","display_name":"Abstract data type","score":0.44179320335388184},{"id":"https://openalex.org/keywords/equivalence","display_name":"Equivalence (formal languages)","score":0.43945273756980896},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3940240144729614},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.38732388615608215},{"id":"https://openalex.org/keywords/law","display_name":"Law","score":0.11032834649085999},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.10445865988731384}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8791801333427429},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8394812345504761},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.6161214113235474},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6103888154029846},{"id":"https://openalex.org/C165064840","wikidata":"https://www.wikidata.org/wiki/Q1321061","display_name":"Matching (statistics)","level":2,"score":0.5445665121078491},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.4772355854511261},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4607698619365692},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.452330619096756},{"id":"https://openalex.org/C2776359362","wikidata":"https://www.wikidata.org/wiki/Q2145286","display_name":"Representation (politics)","level":3,"score":0.4442433714866638},{"id":"https://openalex.org/C175971053","wikidata":"https://www.wikidata.org/wiki/Q827335","display_name":"Abstract data type","level":2,"score":0.44179320335388184},{"id":"https://openalex.org/C2780069185","wikidata":"https://www.wikidata.org/wiki/Q7977945","display_name":"Equivalence (formal languages)","level":2,"score":0.43945273756980896},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3940240144729614},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.38732388615608215},{"id":"https://openalex.org/C199539241","wikidata":"https://www.wikidata.org/wiki/Q7748","display_name":"Law","level":1,"score":0.11032834649085999},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.10445865988731384},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"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/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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s095679680000068x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679680000068x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/04DD26A0E6CA3A1E87E0E6AE8BC02EED/S095679680000068Xa.pdf/div-class-title-pattern-matching-with-abstract-data-types-a-href-fn01-ref-type-fn-span-class-sup-1-span-a-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/s095679680000068x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679680000068x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/04DD26A0E6CA3A1E87E0E6AE8BC02EED/S095679680000068Xa.pdf/div-class-title-pattern-matching-with-abstract-data-types-a-href-fn01-ref-type-fn-span-class-sup-1-span-a-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":[{"score":0.6299999952316284,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2141447233.pdf","grobid_xml":"https://content.openalex.org/works/W2141447233.grobid-xml"},"referenced_works_count":7,"referenced_works":["https://openalex.org/W1507693023","https://openalex.org/W2004098856","https://openalex.org/W2062950667","https://openalex.org/W2114980032","https://openalex.org/W2151384546","https://openalex.org/W2318815169","https://openalex.org/W6677373145"],"related_works":["https://openalex.org/W2112263414","https://openalex.org/W2474047139","https://openalex.org/W52864878","https://openalex.org/W1688372159","https://openalex.org/W2110095505","https://openalex.org/W2168938117","https://openalex.org/W2493130382","https://openalex.org/W2145738007","https://openalex.org/W2971609332","https://openalex.org/W2779713464"],"abstract_inverted_index":{"Abstract":[0],"Pattern":[1],"matching":[2,34,48,168],"in":[3,91,125,142],"modern":[4],"functional":[5,96],"programming":[6,97],"languages":[7],"is":[8,17,234],"tied":[9],"to":[10,31,35,70,88,110],"the":[11,20,58,92,143,155,193,215,227],"representation":[12],"of":[13,22,39,44,60,146,172,180,214],"data.":[14],"Unfortunately,":[15],"this":[16],"incompatible":[18],"with":[19,49,108,117,226],"philosophy":[21],"abstract":[23],"data":[24,52,111,185,197],"types.":[25,40,53],"Two":[26],"proposals":[27],"have":[28,132],"been":[29,133],"made":[30],"generalize":[32],"pattern":[33,47,82,167,200],"a":[36,63,75,79,129,150,170,181,209],"broader":[37],"class":[38],"The":[41],"laws":[42,131,156],"mechanism":[43],"Miranda":[45,136],"allows":[46],"non-free":[50],"algebraic":[51],"More":[54],"recently,":[55],"Wadler":[56],"proposed":[57],"concept":[59],"views":[61,90,102,138,158],"as":[62,169],"more":[64],"general":[65],"solution,":[66],"making":[67],"it":[68,85],"possible":[69],"define":[71],"arbitrary":[72],"mappings":[73],"between":[74,196],"physical":[76],"implementation":[77],"and":[78,101,137,157,175,199],"view":[80,166,210],"supporting":[81],"matching.":[83],"Originally,":[84],"was":[86],"intended":[87],"include":[89],"new":[93],"standard":[94],"lazy":[95],"language":[98],"Haskell.":[99,147],"Laws":[100],"each":[103],"offer":[104],"important":[105],"advantages,":[106],"particularly":[107],"respect":[109],"abstraction.":[112],"However,":[113],"if":[114],"not":[115,140,212],"used":[116,225],"great":[118],"care,":[119],"they":[120],"also":[121],"introduce":[122],"serious":[123],"problems":[124],"equational":[126,220,232],"reasoning.":[127],"As":[128],"result,":[130],"removed":[134],"from":[135],"were":[139],"included":[141],"final":[144],"version":[145],"We":[148,217],"propose":[149],"third":[151],"approach":[152],"which":[153],"unifies":[154],"mechanisms":[159],"while":[160],"avoiding":[161],"their":[162],"problems.":[163],"Philosophically,":[164],"we":[165,204],"bundling":[171],"case":[173],"recognition":[174],"component":[176],"selection":[177],"functions":[178],"instead":[179],"method":[182],"for":[183],"inverting":[184],"construction.":[186],"This":[187],"can":[188,222],"be":[189,224],"achieved":[190],"by":[191],"removing":[192],"implied":[194],"equivalence":[195],"constructors":[198],"constructors.":[201],"In":[202,230],"practice,":[203],"allow":[205],"automatic":[206],"mapping":[207],"into":[208],"but":[211],"out":[213],"view.":[216],"show":[218],"that":[219],"reasoning":[221,233],"still":[223],"resulting":[228],"system.":[229],"fact,":[231],"easier,":[235],"since":[236],"there":[237],"are":[238],"fewer":[239],"hidden":[240],"traps.":[241]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-08-21T09:56:20.448147","created_date":"2025-10-10T00:00:00"}
