Egison: Non-Linear Pattern-Matching against Non-Free Data Types
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.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.