The egison package
An interpreter for Egison, the programming langugage that realized non-linear pattern-matching with backtracking. With Egison, we can directly represent pattern-matching against lists, multisets, sets, trees, graphs and any kind of data types. We can find Egison programs in lib and sample directories. This package also include Emacs Lisp file egison-mode.el in elisp directory.
The following code is the program that determines poker-hands written in Egison. All hands are expressed in a single pattern. We can run this code online at http://www.egison.org/demonstrations/poker-hands.html.
The pattern-matching of Egison is very powerful. We can use it for pattern-matching against graphs, too. Egison is not popular at all now. Please help us to make Egison popular.
For package maintainers and hackage trustees