Concurrent constraint programming
Concurrent constraint programming
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Encapsulated search for higher-order concurrent constraint programming
ILPS '94 Proceedings of the 1994 International Symposium on Logic programming
Functional programming with graphs
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Structuring graphical paradigms in TkGofer
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Essential Java style: patterns for implementation
Essential Java style: patterns for implementation
Java design patterns: a tutorial
Java design patterns: a tutorial
Journal of the ACM (JACM)
Fundamentals of Computer Alori
Fundamentals of Computer Alori
A Functional Logic Programming Approach to Graphical User Interfaces
PADL '00 Proceedings of the Second International Workshop on Practical Aspects of Declarative Languages
High-Level Server Side Web Scripting in Curry
PADL '01 Proceedings of the Third International Symposium on Practical Aspects of Declarative Languages
Distributed Programming in a Multi-Paradigm Declarative Language
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
A Functional-Logic Perspective on Parsing
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
JELIA '96 Proceedings of the European Workshop on Logics in Artificial Intelligence
Improving Control of Logic Programs by Using Functional Logic Languages
PLILP '92 Proceedings of the 4th International Symposium on Programming Language Implementation and Logic Programming
Controlling Search in Declarative Programs
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Compiling Multi-Paradigm Declarative Programs into Prolog
FroCoS '00 Proceedings of the Third International Workshop on Frontiers of Combining Systems
TOY: A Multiparadigm Declarative System
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
Optimal Non-deterministic Functional Logic Computations
ALP '97-HOA '97 Proceedings of the 6th International Joint Conference on Algebraic and Logic Programming
Efficient Translation of Lazy Functional Logic Programs into Prolog
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
An implementation of narrowing strategies
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Server side web scripting in Haskell
Journal of Functional Programming
Type-oriented construction of web user interfaces
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Reporting Failures in Functional Logic Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Putting declarative programming into the web: translating curry to javascript
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Functional-Logic Graph Parser Combinators
RTA '08 Proceedings of the 19th international conference on Rewriting Techniques and Applications
Declarative Programming of User Interfaces
PADL '09 Proceedings of the 11th International Symposium on Practical Aspects of Declarative Languages
Applications of Declarative Programming and Knowledge Management
Purely functional lazy non-deterministic programming
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Communications of the ACM
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
A Natural Implementation of Plural Semantics in Maude
Electronic Notes in Theoretical Computer Science (ENTCS)
Journal of Visual Languages and Computing
KiCS2: a new compiler from Curry to Haskell
WFLP'11 Proceedings of the 20th international conference on Functional and constraint logic programming
New functional logic design patterns
WFLP'11 Proceedings of the 20th international conference on Functional and constraint logic programming
From functional logic programs to purely functional programs preserving laziness
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Nondeterminism analysis of functional logic programs
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Declarative programming with function patterns
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
Purely functional lazy nondeterministic programming
Journal of Functional Programming - Dedicated to ICFP 2009
Hi-index | 0.02 |
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.