egison (hackage): An interpreter for Egison, a **pattern-matching-oriented**, purely functional programming language. 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 elisp/egison-mode.el.  We can do non-linear pattern-matching against non-free data types in Egison. An non-free data type is a data type whose data have no canonical form, a standard way to represent that object. It enables us to write elegant programs.  Twin Primes  We can use pattern-matching for enumeration. The following code enumerates all twin primes from the infinite list of prime numbers with pattern-matching!
Keywords: compilers-interpreters|library|mit|program