{"id":"https://openalex.org/W4362659494","doi":"https://doi.org/10.1145/3586048","title":"Live Pattern Matching with Typed Holes","display_name":"Live Pattern Matching with Typed Holes","publication_year":2023,"publication_date":"2023-04-06","ids":{"openalex":"https://openalex.org/W4362659494","doi":"https://doi.org/10.1145/3586048"},"language":"en","primary_location":{"id":"doi:10.1145/3586048","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586048","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586048","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3586048","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5010819934","display_name":"Yongwei Yuan","orcid":"https://orcid.org/0000-0002-2619-2288"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Yongwei Yuan","raw_affiliation_strings":["Purdue University, USA"],"affiliations":[{"raw_affiliation_string":"Purdue University, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060466978","display_name":"Scott Guest","orcid":"https://orcid.org/0009-0005-1751-6470"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Scott Guest","raw_affiliation_strings":["University of Michigan, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5012256774","display_name":"Eric Griffis","orcid":"https://orcid.org/0000-0003-1693-6172"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Eric Griffis","raw_affiliation_strings":["University of Michigan, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5050262506","display_name":"Hannah Potter","orcid":"https://orcid.org/0000-0002-8502-1657"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Hannah Potter","raw_affiliation_strings":["University of Washington, USA"],"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5070216822","display_name":"David A. Moon","orcid":"https://orcid.org/0000-0002-1081-2235"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Moon","raw_affiliation_strings":["University of Michigan, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5001010367","display_name":"Cyrus Omar","orcid":"https://orcid.org/0000-0003-4502-7971"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Cyrus Omar","raw_affiliation_strings":["University of Michigan, USA"],"affiliations":[{"raw_affiliation_string":"University of Michigan, USA","institution_ids":["https://openalex.org/I27837315"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5010819934"],"corresponding_institution_ids":["https://openalex.org/I219193219"],"apc_list":null,"apc_paid":null,"fwci":1.3826,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.84349543,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":96,"max":98},"biblio":{"volume":"7","issue":"OOPSLA1","first_page":"609","last_page":"635"},"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/T10260","display_name":"Software Engineering Research","score":0.9902999997138977,"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"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.989300012588501,"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/haskell","display_name":"Haskell","score":0.8184667229652405},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8100544214248657},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6888918876647949},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6871246099472046},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.5425723791122437},{"id":"https://openalex.org/keywords/typed-lambda-calculus","display_name":"Typed lambda calculus","score":0.535807728767395},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.48270726203918457},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"Pattern matching","score":0.47318458557128906},{"id":"https://openalex.org/keywords/lambda-calculus","display_name":"Lambda calculus","score":0.37291836738586426}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8184667229652405},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8100544214248657},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6888918876647949},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6871246099472046},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.5425723791122437},{"id":"https://openalex.org/C142156749","wikidata":"https://www.wikidata.org/wiki/Q2607208","display_name":"Typed lambda calculus","level":3,"score":0.535807728767395},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.48270726203918457},{"id":"https://openalex.org/C68859911","wikidata":"https://www.wikidata.org/wiki/Q1503724","display_name":"Pattern matching","level":2,"score":0.47318458557128906},{"id":"https://openalex.org/C135790938","wikidata":"https://www.wikidata.org/wiki/Q242028","display_name":"Lambda calculus","level":2,"score":0.37291836738586426}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3586048","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586048","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586048","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3586048","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3586048","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3586048","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4476064103","display_name":null,"funder_award_id":"2238744","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6507447573","display_name":null,"funder_award_id":"several","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4362659494.pdf","grobid_xml":"https://content.openalex.org/works/W4362659494.grobid-xml"},"referenced_works_count":41,"referenced_works":["https://openalex.org/W1501891810","https://openalex.org/W1570978294","https://openalex.org/W1596289178","https://openalex.org/W1760139041","https://openalex.org/W1971373556","https://openalex.org/W1978777279","https://openalex.org/W1990204174","https://openalex.org/W2026557621","https://openalex.org/W2045900383","https://openalex.org/W2063068243","https://openalex.org/W2074096153","https://openalex.org/W2074592053","https://openalex.org/W2076578036","https://openalex.org/W2094945667","https://openalex.org/W2113705064","https://openalex.org/W2115847338","https://openalex.org/W2145108549","https://openalex.org/W2147137665","https://openalex.org/W2159709550","https://openalex.org/W2164474969","https://openalex.org/W2166822586","https://openalex.org/W2284690928","https://openalex.org/W2604229470","https://openalex.org/W2886328560","https://openalex.org/W2891612558","https://openalex.org/W2892854778","https://openalex.org/W2949241294","https://openalex.org/W2963218353","https://openalex.org/W3011921014","https://openalex.org/W3015096137","https://openalex.org/W3046985528","https://openalex.org/W3101627445","https://openalex.org/W3104645646","https://openalex.org/W3123828280","https://openalex.org/W3187876763","https://openalex.org/W3205900459","https://openalex.org/W4205625158","https://openalex.org/W4212902469","https://openalex.org/W4226281315","https://openalex.org/W4293812983","https://openalex.org/W6969582796"],"related_works":["https://openalex.org/W1587224678","https://openalex.org/W4237016936","https://openalex.org/W1562483556","https://openalex.org/W2475253967","https://openalex.org/W2138164781","https://openalex.org/W2105232714","https://openalex.org/W2752311799","https://openalex.org/W2466581924","https://openalex.org/W2550953148","https://openalex.org/W4362659494"],"abstract_inverted_index":{"Several":[0],"modern":[1],"programming":[2,193],"systems,":[3],"including":[4],"GHC":[5],"Haskell,":[6],"Agda,":[7],"Idris,":[8],"and":[9,30,37,56,64,84,92,101,127,162,172,186,209],"Hazel,":[10,191],"support":[11],"typed":[12,71,119],"holes":[13,26,52,158,203],".":[14],"Assigning":[15],"static":[16,208],"and,":[17],"to":[18,23,33,131,155,206,212],"varying":[19],"degree,":[20],"dynamic":[21,210],"meaning":[22],"programs":[24],"with":[25,142],"allows":[27,153],"program":[28],"editors":[29],"other":[31],"tools":[32],"offer":[34],"meaningful":[35],"feedback":[36,211],"assistance":[38],"throughout":[39],"editing,":[40],"i.e.":[41,220],"in":[42,54,146,159,170,215],"a":[43,118,174,192,196,216,234],"live":[44,94,218,231],"manner.":[45],"Prior":[46],"work,":[47],"however,":[48],"has":[49],"considered":[50],"only":[51],"appearing":[53],"expressions":[55,97,161],"types.":[57],"This":[58],"paper":[59],"considers,":[60],"from":[61],"type":[62],"theoretic":[63],"logical":[65],"first":[66,136,229],"principles,":[67],"the":[68,132,147,166,179,213,228],"problem":[69,133],"of":[70,96,134,149,168,177,198],"pattern":[72,100],"holes.":[73,103],"We":[74,116,139,164],"confront":[75],"two":[76],"main":[77],"difficulties,":[78],"(1)":[79],"statically":[80],"reasoning":[81,109,124],"about":[82,111,125],"exhaustiveness":[83,126],"irredundancy":[85],"when":[86],"patterns":[87],"are":[88],"not":[89],"fully":[90],"known,":[91],"(2)":[93],"evaluation":[95],"containing":[98],"both":[99,105,160],"expression":[102],"In":[104],"cases,":[106],"this":[107],"requires":[108],"conservatively":[110],"all":[112],"possible":[113,223],"hole":[114],"fillings.":[115],"develop":[117],"lambda":[120],"calculus,":[121],"Peanut,":[122],"where":[123],"redundancy":[128],"is":[129,227],"mapped":[130],"deriving":[135],"order":[137],"entailments.":[138,181],"equip":[140],"Peanut":[141,169],"an":[143],"operational":[144],"semantics":[145],"style":[148],"Hazelnut":[150],"Live":[151],"that":[152,200],"us":[154],"evaluate":[156],"around":[157],"patterns.":[163],"mechanize":[165],"metatheory":[167],"Agda":[171],"formalize":[173],"procedure":[175],"capable":[176],"deciding":[178],"necessary":[180],"Finally,":[182],"we":[183],"scale":[184],"up":[185],"implement":[187],"these":[188],"mechanisms":[189],"within":[190],"environment":[194,232],"for":[195,221,233],"dialect":[197],"Elm":[199],"automatically":[201],"inserts":[202],"during":[204],"editing":[205],"provide":[207],"programmer":[214],"maximally":[217,230],"manner,":[219],"every":[222],"editor":[224],"state.":[225],"Hazel":[226],"general-purpose":[235],"functional":[236],"language.":[237]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":3},{"year":2024,"cited_by_count":4}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
