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
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
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.
pathological « Path Pascal « pathspec « pattern
» pattern recognition » PAW » PAW++