zbMATH — the first resource for mathematics

Tor: modular search with hookable disjunction. (English) Zbl 1283.68318
Summary: Horn clause programs have a natural exhaustive depth-first procedural semantics. However, for many programs this semantics is ineffective. In order to compute useful solutions, one needs the ability to modify the search method that explores the alternative execution branches. {
} Tor, a well-defined hook into Prolog disjunction, provides this ability. It is light-weight thanks to its library approach and efficient because it is based on program transformation. Tor is general enough to mimic search-modifying predicates like ECLiPSe’s search/6. Moreover, Tor supports modular composition of search methods and other hooks. The Tor library is already provided and used as an add-on to SWI-Prolog.

68T20 Problem solving in the context of artificial intelligence (heuristics, search strategies, etc.)
68N17 Logic programming
Full Text: DOI
[1] Kowalski, R., Logic for problem solving, (1979), North-Holland · Zbl 0426.68002
[2] Wielemaker, J.; Schrijvers, T.; Triska, M.; Lager, T., SWI-prolog, Theory and Practice of Logic Programming, 12, 67-96, (2012) · Zbl 1244.68023
[3] Schimpf, J.; Shen, K., Eclipse from LP to CLP, Theory and Practice of Logic Programming, 12, 127-156, (2012) · Zbl 1244.68020
[4] M. Triska, The finite domain constraint solver of SWI-Prolog, in: Proceedings of the 11th International Symposium on Functional and Logic Programming, FLOPS 2012, in: Lecture Notes in Computer Science, vol. 7294, pp. 307-316. · Zbl 06562503
[5] Carlsson, M.; Mildner, P., Sicstus prolog—the first 25 years, Theory and Practice of Logic Programming, 12, 35-66, (2012) · Zbl 1244.68016
[6] Zhou, N.-F., The language features and architecture of B-prolog, Theory and Practice of Logic Programming, 12, 189-218, (2012) · Zbl 1244.68024
[7] Diaz, D.; Abreu, S.; Codognet, P., On the implementation of GNU-prolog, Theory and Practice of Logic Programming, 12, 253-282, (2012) · Zbl 1244.68018
[8] Hermenegildo, M. V.; Bueno, F.; Carro, M.; López-García, P.; Mera, E.; Morales, J. F.; Puebla, G., An overview of ciao and its design philosophy, Theory and Practice of Logic Programming, 12, 219-252, (2012) · Zbl 1244.68019
[9] W. D. Harvey, M. L. Ginsberg, Limited discrepancy search, in: Proceedings of the 15th International Joint Conferences on Artificial Intelligence, IJCAI 1995, pp. 607-613.
[10] Simonis, H.; Davern, P.; Feldman, J.; Mehta, D.; Quesada, L.; Carlsson, M., A generic visualization platform for cp, (Proceedings of Principles and Practice of Constraint Programming—CP 2010, Lecture Notes in Computer Science, vol. 6308, (2010), Springer), 460-474
[11] Sterling, L.; Shapiro, E., The art of prolog: advanced programming techniques, (1994), MIT Press Cambridge, MA · Zbl 0850.68137
[12] P. Schachte, Global variables in logic programming, in: Proceedings of the International Conference on Logic Programming, ICLP 1997, pp. 3-17.
[13] Schrijvers, T.; Stuckey, P. J.; Wadler, P., Monadic constraint programming, Journal of Functional Programming, 19, 663-697, (2009) · Zbl 1184.68166
[14] Schrijvers, T.; Tack, G.; Wuille, P.; Samulowitz, H.; Stuckey, P., Search combinators, (Proceedings of the 17th International Conference on Principles and Practice of Constraint Programming, CP 2011, Lectures Notes in Computer Science, vol. 6876, (2011), Springer), 774-788
[15] Van Hentenryck, P.; Michel, L., Constraint-based local search, (2005), MIT Press
[16] Van Hentenryck, P.; Michel, L., Nondeterministic control for hybrid search, Constraints, 11, 353-373, (2006) · Zbl 1112.68039
[17] C. Schulte, et al. Gecode, the generic constraint development environment. http://www.gecode.org/, 2013 (accessed March 2013).
[18] G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, J. Irwin, Aspect-oriented programming, in: Proceedings of the 11th European Conference on Object-Oriented Programming, ECOOP 1997, in: Lecture Notes in Computer Science, vol. 1241, pp. 220-242.
[19] W. Lohmann, G. Riedewald, G. Wachsmuth, Aspect-orientation in Prolog, in: Proceedings of the 16th International Symposium on Logic-based Program Synthesis and Transformation.
[20] Swift, T.; Warren, D. S., XSB: extending prolog with tabled logic programming, Theory and Practice of Logic Programming, 12, 157-187, (2012) · Zbl 1244.68021
[21] Santos Costa, V.; Rocha, R.; Damas, L., The YAP prolog system, Theory and Practice of Logic Programming, 12, 5-34, (2012) · Zbl 1244.68017
[22] Jones, M. P.; Duponcheel, L., Composing monads, research report YALEU/DCS/RR-1004, (1993), Yale University, Department of Computer Science New Haven, Connecticut
[23] Filinski, A., Monads in action, (Proceedings of the 37th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2010, (2010), ACM), 483-494 · Zbl 1312.68038
[24] A. Aggoun, N. Beldiceanu, Time stamps techniques for the trailed data in constraint logic programming systems, in: SPLT’90, 8^{ème} Séminaire Programmation en Logique, 16-18 mai 1990, Trégastel, France, pp. 487-510.
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.