Pattern matching (source code)

= Pattern matching

Selecting a branch and binding components according to a value's constructor structure. In <Haskell>, matching a constructor can demand the outer constructor without demanding every field; a failed or undefined match has distinct consequences from an <irrefutable pattern>.