pattern matching
Webster's Dictionary (GCIDE)
Note: There are two major types of pattern matching, statistical pattern matching and syntactic pattern matching. In statistical pattern matching, the criteria used to recognize identity or class membership vary, but in general some combination of the differences in the groups of characteristics of known and unknown objects are considered to be a measure of the difference ("distance") between them, and the closest known object or objects are viewed as presenting the most likely identity or class for the unknown object. In syntactic pattern matching, a set of known patterns, e.g. as in the possible order of parts of speech in a language, is defined, and the unknown pattern is compared to find that known pattern or patterns which matches the unknown exactly. In general, statistical pattern matching is used where properties of objects with continuous values are being compared, and syntactic pattern matching where a complex arrangement of at least two different objects may be built by application of a set of rules (a "grammar") for combining the objects in a specified order. Examples of the latter are natural and formal languages. [PJC]
Free On-line Dictionary of Computing
1.A function is defined to take arguments of a particular type, form or value. When applying the function to its actual arguments it is necessary to match the type, form or value of the actual arguments against the formal arguments in some definition. For example, the function
length [] = 0 length (x:xs) = 1 + length xs
uses pattern matching in its argument to distinguish a null list from a non-null one.
There are well known algorithm for translating pattern matching into conditional expressions such as "if" or "case". E.g. the above function could be transformed to
length l = case l of [] -> 0 x:xs -> 1 : length xs
Pattern matching is usually performed in textual order though there are languages which match more specific patterns before less specific ones.
2.Descriptive of a type of language or utility such as awk or Perl which is suited to searching for strings or patterns in input data, usually using some kind of regular expression.
(1994-11-28)