PLDB
Languages Features Calendar About Lists Add Language
GitHub icon

Pattern Matching

Pattern Matching

Pattern Matching is a language feature.

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 has to 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 (if any) 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 (i.e., search and replace). Read more on Wikipedia...

Languages with Pattern Matching include Haskell, Coconut, HOPE, Felix, NPL

Example from Haskell:

fib 0 = 1 fib 1 = 1 fib n | n >= 2 = fib (n-1) + fib (n-2)

Example from Coconut:

match [head] + tail in [0, 1, 2, 3]: print(head, tail)

Example from Felix:

match x with | Some x => println$ x; | None => println "NONE"; endmatch;

Article source

PLDB - Build the next great programming language 路 v2022 Docs Acknowledgements Email GitHub