Hostname: page-component-76fb5796d-25wd4 Total loading time: 0 Render date: 2024-04-27T00:30:51.564Z Has data issue: false hasContentIssue false

Integration of declarative and constraint programming

Published online by Cambridge University Press:  01 January 2007

PETRA HOFSTEDT
Affiliation:
Technische Universität Berlin, Sekr. FR 5-13, Franklinstr. 28/29, D-10587 Berlin, Germany (e-mail: ph@cs.tu-berlin.de, pepper@cs.tu-berlin.de)
PETER PEPPER
Affiliation:
Technische Universität Berlin, Sekr. FR 5-13, Franklinstr. 28/29, D-10587 Berlin, Germany (e-mail: ph@cs.tu-berlin.de, pepper@cs.tu-berlin.de)

Abstract

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.

Type
Regular Papers
Copyright
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.)

References

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.Google 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.Google 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.Google 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. http://www.haskell.org/tutorial/, 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.Google 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.Google 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.Google 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.Google 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.Google Scholar
Schulte, C. 2002. Programming Constraint Services. LNCS, vol. 2302. Springer.Google 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.Google 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.CrossRefGoogle Scholar