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 allows programmers to use tensor index notation including the support for differential forms.
Egison introduces two types of parameters, scalar and tensor parameters, and a set of simple index reduction rules for that.
Demo: Riemann Curvature Tensor of `S^2` » Egison Tensor Paper
Please try Egison's original features.
We aim at intuitive representation of algorithms and formalization of human recognitions.
We believe this is the shortest way to the artificial intelligence.
Egison is written in Haskell and being distributed as a Hackage package.
Egison inherits a lot of features from Haskell.
Extending other languages to access Egison pattern matching!
We have a mailing list!
Egison on Twitter, Google+, Facebook, GitHub, Rosseta Code, Hacker News, and Reddit. Please check them!