Egison is a programming language that features extensible efficient non-linear pattern matching with backtracking for non-free data types. We can directly represent pattern matching for a wide range of data types including lists, multisets, sets, trees, graphs, and mathematical expressions. Egison makes programming dramatically simple!
Egison proposes a new paradigm pattern-match-oriented . The combination of all of the following features enables intuitive powerful pattern matching.
Egison Pattern-Matching Paper