Functional Logic Design Patterns

by Sergio Antoy, Michael Hanus

Proc. of the 6th International Symposium on Functional and Logic Programming (FLOPS 2002), Springer LNCS 2441, pp. 67-87, 2002
© Springer-Verlag

We introduce a handful of software design patterns for functional logic languages. Following usual approaches, for each pattern we propose a name and we describe its intent, applicability, structure, consequences, etc. Our patterns deal with data type construction, identifier declarations, mappings, search, non-determinism and other fundamental aspects of the design and implementation of programs. We present some problems and we show fragments of programs that solve these problems using our patterns. The programming language of our examples is Curry. The complete programs are available on-line.

Preprint (PDF) BibTeX-Entry Online