@INPROCEEDINGS{AntoyHanus05LOPSTR,
author       = {Antoy, S. and Hanus, M.},
title        = {Declarative Programming with Function Patterns},
year         = {2005},
booktitle    = {Proceedings of the International Symposium on Logic-based
                Program Synthesis and Transformation (LOPSTR'05)},
pages        = {6-22},
publisher    = {Springer LNCS 3901},
abstract = {
We propose an extension of functional logic languages that allows the
definition of operations with patterns containing other defined
operation symbols.  Such ``function patterns'' have many advantages over
traditional constructor patterns. They allow a direct representation
of specifications as declarative programs, provide better abstractions
of patterns as first-class objects, and support the high-level
programming of queries and transformation of complex structures.
Moreover, they avoid known problems that occur in traditional programs
using strict equality.  We define their semantics via a transformation
into standard functional logic programs. Since this transformation
might introduce an infinite number of rules, we suggest an
implementation that can be easily integrated with existing functional
logic programming systems.
}
}

