2000 character limit reached
Egison: Non-Linear Pattern-Matching against Non-Free Data Types (1506.04498v1)
Published 15 Jun 2015 in cs.PL
Abstract: This paper introduces the Egison programming language whose feature is strong pattern-matching facility against not only algebraic data types but also non-free data types whose data have multiple ways of representation such as sets and graphs. Our language supports multiple occurrences of the same variables in a pattern, multiple results of pattern-matching, polymorphism of pattern-constructors and loop-patterns, patterns that contain "and-so-forth" whose repeat count can be changed by the parameter. This paper proposes the way to design expressions that have all these features and demonstrates how these features are useful to express programs concise. Egison has already implemented in Haskell.