Skip to main content Accessibility help
Hostname: page-component-55597f9d44-2qt69 Total loading time: 0.402 Render date: 2022-08-12T02:28:03.889Z Has data issue: true Feature Flags: { "shouldUseShareProductTool": true, "shouldUseHypothesis": true, "isUnsiloEnabled": true, "useRatesEcommerce": false, "useNewApi": true } hasContentIssue true

Integration of declarative and constraint programming

Published online by Cambridge University Press:  01 January 2007

Technische Universität Berlin, Sekr. FR 5-13, Franklinstr. 28/29, D-10587 Berlin, Germany (e-mail:,
Technische Universität Berlin, Sekr. FR 5-13, Franklinstr. 28/29, D-10587 Berlin, Germany (e-mail:,


Combining a set of existing constraint solvers into an integrated system of cooperating solvers is a useful and economic principle to solve hybrid constraint problems. In this paper we show that this approach can also be used to integrate different language paradigms into a unified framework. Furthermore, we study the syntactic, semantic and operational impacts of this idea for the amalgamation of declarative and constraint programming.

Regular Papers
Copyright © Cambridge University Press 2007

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)


Aït-Kaci, H. and Nasr, R. 1989. Integrating Logic and Functional Programming. Lisp and Symbolic Computation 2, 1, 5189.CrossRefGoogle Scholar
Broy, M., Wirsing, M., and Pepper, P. 1987. On the Algebraic Definition of Programming Languages. ACM Transactions on Programming Languages and Systems 9, 1 (January), 5499.CrossRefGoogle Scholar
Cheadle, A. M., Harvey, W., Sadler, A. J., Schimpf, J., Shen, K., and Wallace, M. G. 2003. An Introduction. Tech. Rep. IC-PARC-03-1, Centre for Planning and Resource Control, Imperial College London.Google Scholar
Costa, V. S., Warren, D. H., and Yang, R. 1991. Andorra-I: A Parallel Prolog System that Transparently Exploits both And- and Or-Parallelism. In Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming – PPOPP. SIGPLAN Notices, vol. 26 (7). ACM Press, 8393.Google Scholar
Didrich, K., Fett, A., Gerke, C., Grieskamp, W., and Pepper, P. 1994. OPAL: Design and Implementation of an Algebraic Programming Language. In International Conference on Programming Languages and System Architectures, Gutknecht, J., Ed. LNCS, vol. 782. Springer, 228244.CrossRefGoogle Scholar
Fer-nández, A., Hortalá-Gonzáles, T., and Sáenz-Pérez, F. 2003. Solving Combinatorial Problems with a Constraint Functional Logic Language. In Practical Aspects of Declarative Languages, 5th International Symposium – PADL, Dahl, V. and Wadler, P., Eds. LNCS, vol. 2562. Springer, 320338.CrossRefGoogle Scholar
Field, A. and Harrison, P. 1988. Functional Programming. Addison-Wesley.Google Scholar
Frank, S., Hofstedt, P., and Mai, P. R. 2003a. A Flexible Meta-solver Framework for Constraint Solver Collaboration. In Advances in Artificial Intelligence, 26th German Conference on Artificial Intelligence – KI 2003, Günter, A., Kruse, R., and Neumann, B., Eds. LNCS, vol. 2821. Springer, Kiel, Germany, 520534.CrossRefGoogle Scholar
Frank, S., Hofstedt, P., and Mai, P. R. 2003b. Meta-S: A Strategy-oriented Meta-Solver Framework. In 16th International Florida Artificial Intelligence Research Society Conference – FLAIRS, Russell, I. and Haller, S. M., Eds. The AAAI Press, St. Augustine, Florida, 177181.Google Scholar
Frank, S., Hofstedt, P., and Reckmann, D. 2004. Strategies for the Efficient Solution of Hybrid Constraint Logic Programs. In Third Workshop on Multiparadigm Constraint Programming Languages – MultiCPL, Muñoz-Hernández, S., Gómez-Perez, J. M., and Hofstedt, P., Eds. Saint-Malo, France, 103117.Google Scholar
Hanus, M. 1994. The Integration of Functions into Logic Programming: From Theory to Practice. Journal of Logic Programming 19/20, 583628.CrossRefGoogle Scholar
Hanus, M. 1995. On Extra Variables in (Equational) Logic Programming. In Twelfth International Conference on Logic Programming. MIT Press, 665679.Google Scholar
Hanus, M., Antoy, S., Kuchen, H., López-Fraguas, F. J., Lux, W., Moreno-Navarro, J. J., and Steiner, F. 2003. Curry: An Integrated Functional Logic Language. Report. Version 0.8 of April 15, 2003.Google Scholar
Hofstedt, P. 2000a. Better Communication for Tighter Cooperation. In First International Conference on Computational Logic – CL. LNCS, vol. 1861. Springer, 342358.Google Scholar
Hofstedt, P. 2000b. Cooperating Constraint Solvers. In Sixth International Conference on Principles and Practice of Constraint Programming – CP. LNCS, vol. 1894. Springer, 520524.Google Scholar
Hofstedt, P. 2001. Cooperation and Coordination of Constraint Solvers. Ph.D. thesis, Dresden University of Technology.Google Scholar
Hong, H. 1994. Confluency of Cooperative Constraint Solvers. Tech. Rep. 94–08, Research Institute for Symbolic Computation, Linz, Austria.Google Scholar
Hortalá-González, T., López-Fraguas, F., Sánchez-Hernández, J., and Ullán-Hernández, E. 1997. Declarative Programming with real Constraints. Tech. Rep. SIP 5997, Universidad Complutense de Madrid.Google Scholar
Hudak, P., Peterson, J., and Fasel, J. H. 2000. A Gentle Introduction to Haskell 98. Tech. rep., Yale University, Department of Computer Science., visited 2005-11-18.Google Scholar
Jaffar, J. and Lassez, J.-L. 1987. Constraint Logic Programming. In 14th ACM Symposium on Principles of Programming Languages – POPL. ACM Press, 111119.Google Scholar
Jaffar, J., Maher, M., Marriott, K., and Stuckey, P. 1998. The Semantics of Constraint Logic Programs. Journal of Logic Programming 37, 1–3, 146.CrossRefGoogle Scholar
Kanellakis, P., Kuper, G., and Revesz, P. 1995. Constraint Query Languages. Journal of Computer and System Sciences 51, 1, 2652.CrossRefGoogle Scholar
Kobayashi, N., Marin, M., and Ida, T. 2003. Collaborative Constraint Functional Logic Programming System in an Open Environment. IEICE Transactions on Information and Systems E86-D, 1, 6370.Google Scholar
Loogen, R. 1995. Integration funktionaler und logischer Programmiersprachen. Oldenbourg.Google Scholar
López-Fraguas, F.-J. 1992. A General Scheme for Constraint Functional Logic Programming. In Algebraic and Logic Programming – ALP, Kirchner, H. and Levi, G., Eds. LNCS, vol. 632. Springer, 213227.Google Scholar
Lux, W. 2001. Adding Linear Constraints over Real Numbers to Curry. In Functional and Logic Programming, 5th International Symposium – FLOPS, Kuchen, H. and Ueda, K., Eds. LNCS, vol. 2024. Springer, 185200.CrossRefGoogle Scholar
Manna, Z. 1974. Mathematical Theory of Computation. McGraw-Hill.Google Scholar
Middeldorp, A. and Hamoen, E. 1994. Completeness Results for Basic Narrowing. Applicable Algebra in Engineering, Communication and Computing 5, 213253.CrossRefGoogle Scholar
Monfroy, E. 1996. Solver Collaboration for Constraint Logic Programming. Ph.D. thesis, Centre de Recherche en Informatique de Nancy. INRIA.Google Scholar
Moreno-Navarro, J. and Rodríguez-Artalejo, M. 1992. Logic Programming with Functions and Predicates: The Language BABEL. Journal for Logic Programming 12, 3&4, 191223.CrossRefGoogle Scholar
Müller, M., Müller, T., and Van Roy, P. 1995. Multiparadigm Programming in Oz. In Workshop on Visions for the Future of Logic Programming, Smith, D., Ridoux, O., and Roy, P. V., Eds. Portland, Oregon.Google Scholar
Nilsson, U. and Małuszyński, J. 1995. Logic, Programming and Prolog. John Wiley & Sons Ltd.Google Scholar
Palamidessi, C. 1990. Algebraic Properties of Idempotent Substitutions. In Automata, Languages and Programming – ICALP, Paterson, M., Ed. LNCS, vol. 443. Springer, 386399.CrossRefGoogle Scholar
Reddy, U. 1985. Narrowing as the Operational Semantics of Functional Languages. In IEEE Symposium on Logic Programming. 138151.Google Scholar
Rueher, M. 1995. An Architecture for Cooperating Constraint Solvers on Reals. In Constraint Programming: Basics and Trends, Podelski, A., Ed. LNCS, vol. 910. Springer, 231250.CrossRefGoogle Scholar
Schulte, C. 2002. Programming Constraint Services. LNCS, vol. 2302. Springer.CrossRefGoogle Scholar
Suzuki, T., Middeldorp, A., and Ida, T. 1995. Level-Confluence of Conditional Rewrite Systems with Extra Variables in Right-Hand Sides. In 6th International Conference on Rewriting Techniques and Applications. LNCS, vol. 914. Springer, 179193.CrossRefGoogle Scholar
Warren, D. H. 1988. The Andorra Principle. Presented at the Gigalips Workshop, Swedish Institute of Computer Science (SICS), Stockholm, Sweden.Google Scholar
Westfold, S. J. and Smith, D. R. 2001. Synthesis of Efficient Constraint Satisfaction Programs. In Knowledge Engineering Reviews. Special Issue on AI and OR. Kestrel Institute Technical Report KES.U.01.7.Google Scholar
Winskel, G. 1993. Formal Semantics of Programming Languages. MIT Press.Google Scholar
Cited by

Save article to Kindle

To save this article to your Kindle, first ensure is added to your Approved Personal Document E-mail List under your Personal Document Settings on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part of your Kindle email address below. Find out more about saving to your Kindle.

Note you can select to save to either the or variations. ‘’ emails are free but can only be saved to your device when it is connected to wi-fi. ‘’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.

Find out more about the Kindle Personal Document Service.

Integration of declarative and constraint programming
Available formats

Save article to Dropbox

To save this article to your Dropbox account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you used this feature, you will be asked to authorise Cambridge Core to connect with your Dropbox account. Find out more about saving content to Dropbox.

Integration of declarative and constraint programming
Available formats

Save article to Google Drive

To save this article to your Google Drive account, please select one or more formats and confirm that you agree to abide by our usage policies. If this is the first time you used this feature, you will be asked to authorise Cambridge Core to connect with your Google Drive account. Find out more about saving content to Google Drive.

Integration of declarative and constraint programming
Available formats

Reply to: Submit a response

Please enter your response.

Your details

Please enter a valid email address.

Conflicting interests

Do you have any conflicting interests? *