Search in: Word
Vietnamese keyboard: Off
Virtual keyboard: Show
Computing (FOLDOC) dictionary
pattern matching
Jump to user comments
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.