This document describes functional pattern matching in different programming languages like Haskell, Erlang, Python, and Prolog. It introduces a Python library called Patterns that implements pattern matching via function decoration and AST transformation. The library allows matching different patterns in function arguments and assigning or evaluating expressions based on the matched patterns.