The document discusses pattern-match-oriented programming (PMOP) using the Egison programming language. PMOP aims to clarify programming with patterns by showing examples that confine explicit recursions in patterns. The key features of Egison that enable PMOP include non-linear pattern matching with multiple results, polymorphic patterns via matchers, and built-in patterns like loop patterns. The document presents several PMOP design patterns like join-cons patterns for lists, cons patterns for multisets, and tuple patterns for comparing multiple data. Examples demonstrate using patterns to define functions like map, intersection, and difference.