New Functional Logic Design Patterns
Patterns distill successful experience in solving common software problems. The authors introduce a handful of new software design patterns for functional logic languages. Some patterns are motivated by the evolution of the paradigm in the last 10 years. Following usual approaches, for each pattern they propose a name and they describe its intent, applicability, structure, consequences, etc. Their patterns deal with fundamental aspects of the design and implementation of functional logic programs such as function invocation, data structure representation and manipulation, specification-driven implementation, pattern matching, and non-determinism.