Everything about Pattern matching
Functional programming construct
In computer science, pattern matching is the act of checking a given sequence of tokens for the presence of the constituents of some pattern. In contrast to pattern recognition, the match usually must be exact: "either it will or will not be a match." The patterns generally have the form of either sequences or tree structures. Uses of pattern matching include outputting the locations of a pattern within a token sequence, to output some component of the matched pattern, and to substitute the matching pattern with some other token sequence. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Pattern matchingA 5-minute orientation
- Skim a recent paper: The dynamics of pattern matching in camouflaging cuttlefishInfluential work since 2022
- Pick up a classic book: Information routing, correspondence finding, and object recognition in the brainThe most-reprinted book on the subject
- Read the landmark paper: Fast Pattern Matching in StringsCited 2,025 times
- Go sideways: Algebraic data typeA closely related topic
- Go sideways: Haskell featuresA closely related topic
📖 Definitions
Noun The act of checking some sequence of tokens for the presence of the constituents of a pattern.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Fast Pattern Matching in Strings
Pattern Matching in Trees
Weighted fuzzy pattern matching
Graph pattern matching
Incremental graph pattern matching
FUZZY PATTERN MATCHING
Pattern matching for permutations
Two dimensional pattern matching
🆕 Influential since 2022
📚 Books worth reading
Information routing, correspondence finding, and object recognition in the brainPhilipp Wolfrum · 2010
Data Matching Concepts And Techniques For Record Linkage Entity Resolution And Duplicate DetectionPeter Christen · 2012
Antennas with non-Foster matching networks · 2007- 📕Jing xiang pi pei yu mu biao shi bie ji shuYanjun Li · 2009
- 📕An investigation into the differing rally patterns in mens and womens badminton,using a notational match analysis studyAndrew Terence Lewis · 1987
Template matching techniques in computer visionRoberto Brunelli · 2009
Image matching and analysisSPIE International Symposium on Multispectral Image Processing and Pattern Recognition (2nd 2001 Wuhan, China) · 2001
Bridging the gap between graph edit distance and kernel machinesMichel Neuhaus · 2007
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Algebraic data type In computer programming, especially in functional programming and type theory, an algebraic data type (ADT) is a composite data type, i.e. a type formed…
- Haskell features This article describes the features in the programming language Haskell. A simple example that is often used to demonstrate the syntax of functional languages…
- Conditional (computer programming) In computer programming, a conditional statement directs program control flow based on the value of a condition; a Boolean expression. A conditional expression…
- Racket features Racket has been under active development as a vehicle for programming language research since the mid-1990s, and has accumulated many features over the…
- Lazy evaluation In programming language theory, lazy evaluation, or call-by-need, is an evaluation strategy which delays the evaluation of an expression until its value…
- Erlang (programming language) Erlang (/ˈɜːrlæŋ/ UR-lang) is a general-purpose, concurrent, functional high-level programming language, and a garbage-collected runtime system. The term…
- Tagged union In computer science, a tagged union, also called a variant, variant record, choice type, discriminated union, disjoint union, sum type, or coproduct, is…
- F Sharp (programming language) F# (pronounced F sharp) is a general-purpose, high-level, strongly typed, functional-first programming language that encompasses functional, imperative…