Egison is the
A feature of Egison is the strong pattern matching facility. With Egison, you can represent pattern matching for data types whose data have no normal forms, such as sets, multisets, and algebraic structures such as groups, rings, fields, and so on.
Egison can pattern-match with data types whose data have no canonical forms. Such kind of data types is called an unfree data type.
In pattern-matching of well-known programming languages, the existence of canonical forms is assumed. Therefore, when we do pattern-matching with unfree data types, we need to translate and regard them as data which have a canonical form. For example, a set would be treated as a list. Many programmers think this is unavoidable, and in fact, it is a latent stress of programming. Sets and multisets often play important roles in expressing algorithms. So natural expression for handling these kinds of data is also important.
Egison is the world's first programming language that makes pattern-matching with unfree data types practical. Following features enables practical pattern-matching with unfree data types.
Egison's pattern-matching is going to include a following feature.
Algorithms are expressed intuitively and will be auto-parallelized with Egison!!
Egison Version 3 User Manual
Egison has Twitter account. Please follow Egison.