skip to main content
10.1145/2370776.2370790acmotherconferencesArticle/Chapter ViewAbstractPublication PagesppdpConference Proceedingsconference-collections
research-article

Tor: extensible search with hookable disjunction

Published: 19 September 2012 Publication History

Abstract

Horn Clause Programs have a natural depth-first procedural semantics. However, for many programs this procedural 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. Our library is already provided and used as an add-on to SWI-Prolog.

References

[1]
Abderrahmane Aggoun and Nicolas Beldiceanu. Time stamps techniques for the trailed data in constraint logic programming systems. In Serge Bourgault and Mehmet Dincbas, editors, SPLT'90, 8'eme Séminaire Programmation en Logique, 16--18 mai 1990, Trégastel, France, pages 487--510, 1990.
[2]
Mats Carlsson and Per Mildner. SICStus Prolog - The first 25 years. Theory and Practice of Logic Programming, 12(1--2):35--66, 2012.
[3]
Daniel Diaz, Salvador Abreu, and Philippe Codognet. On the implementation of GNU-Prolog. Theory and Practice of Logic Programming, 12(1--2):253--282, 2012.
[4]
Andrzej Filinski. Monads in action. In Manuel V. Hermenegildo and Jens Palsberg, editors, Proceedings of the 37th ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL 2010), pages 483--494. ACM, 2010.
[5]
William D. Harvey and Matthew L. Ginsberg. Limited discrepancy search. In Proceedings of the 15th International Joint Conferences on Artificial Intelligence (IJCAI 1995), pages 607--613, 1995.
[6]
Manuel V. Hermenegildo, Francisco Bueno, Manuel Carro, Pedro López-García, Edison Mera, José F. Morales, and German Puebla. An overview of Ciao and its design philosophy. Theory and Practice of Logic Programming, 12(1--2):219--252, 2012.
[7]
Mark P. Jones and Luc Duponcheel. Composing monads. Research Report YALEU/DCS/RR-1004, Yale University, Department of Computer Science, New Haven, Connecticut, December 1993.
[8]
Gregor Kiczales, John Lamping, Anurag Menhdhekar, Chris Maeda, Christina V. Lopes, Jean-Marc Loingtier, and John Irwin. Aspectoriented programming. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP 1997), pages 220--242, 1997.
[9]
Robert Kowalski. Logic for Problem Solving. North-Holland, 1979.
[10]
Wolfgang Lohmann, Günter Riedewald, and Guido Wachsmuth. Aspect-Orientation in Prolog. In Proceedings of the 16th International Symposium on Logic-based Program Synthesis and Transformation, 2006.
[11]
Vitor Santos Costa, Ricardo Rocha, and Luis Damas. The YAP Prolog system. Theory and Practice of Logic Programming, 12(1--2):5--34, 2012.
[12]
Peter Schachte. Global variables in logic programming. In Proceedings of the International Conference on Logic Programming (ICLP 1997), pages 3--17, 1997.
[13]
Joachim Schimpf and Kish Shen. ECLiPSe From LP to CLP. Theory and Practice of Logic Programming, 12(1--2):127--156, 2012.
[14]
Tom Schrijvers, Peter J. Stuckey, and Philip Wadler. Monadic constraint programming. Journal of Functional Programming, 19(6):663--697, 2009.
[15]
Tom Schrijvers, Guido Tack, Pieter Wuille, Horst Samulowitz, and Peter Stuckey. Search Combinators. In Proceedings of the 17th International Conference on Principles and Practice of Constraint Programming (CP 2011), volume 6876 of Lecture Notes in Computer Science, pages 774--788. Springer, 2011.
[16]
Leon Sterling and Ehud Shapiro. The Art of Prolog: Advanced Programming Techniques. MIT Press, Cambridge, MA, 2. edition, 1994.
[17]
Terrance Swift and David S. Warren. XSB: Extending Prolog with Tabled Logic Programming. Theory and Practice of Logic Programming, 12(1--2):157--187, 2012.
[18]
Markus Triska. The finite domain constraint solver of SWI-Prolog. In Proceedings of the 11th International Symposium on Functional and Logic Programming (FLOPS 2012), pages 307--316, 2012.
[19]
Pascal Van Hentenryck and Laurent Michel. Constraint-Based Local Search. MIT Press, 2005.
[20]
Pascal Van Hentenryck and Laurent Michel. Nondeterministic control for hybrid search. Constraints, 11(4):353--373, 2006.
[21]
Philip Wadler. The essence of functional programming. In Ravi Sethi, editor, Conference Record of the Nineteenth Annual ACM SIGPLANSIGACT Symposium on Principles of Programming Languages (POPL 1992), pages 1--14. ACM Press, 1992.
[22]
Jan Wielemaker, Tom Schrijvers, Markus Triska, and Torbjorn Lager. SWI-Prolog. Theory and Practice of Logic Programming, 12(1-:67--96, 2012.
[23]
Neng-Fa Zhou. The language features and architecture of B-Prolog. Theory and Practice of Logic Programming, 12(1--2):189--218, 2012.

Cited By

View all
  • (2014)Heuristics Entwined with Handlers CombinedProceedings of the 16th International Symposium on Principles and Practice of Declarative Programming10.1145/2643135.2643145(259-270)Online publication date: 8-Sep-2014
  • (2013)Search combinatorsConstraints10.1007/s10601-012-9137-818:2(269-305)Online publication date: 1-Apr-2013
  • (2013)An Introduction to Search CombinatorsLogic-Based Program Synthesis and Transformation10.1007/978-3-642-38197-3_2(2-16)Online publication date: 2013

Index Terms

  1. Tor: extensible search with hookable disjunction

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    PPDP '12: Proceedings of the 14th symposium on Principles and practice of declarative programming
    September 2012
    226 pages
    ISBN:9781450315227
    DOI:10.1145/2370776
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    • Kuleuven Belgium: Kuleuven Belgium

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 19 September 2012

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. disjunction
    2. modularity
    3. prolog
    4. search

    Qualifiers

    • Research-article

    Conference

    PPDP'12
    Sponsor:
    • Kuleuven Belgium

    Acceptance Rates

    Overall Acceptance Rate 230 of 486 submissions, 47%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)2
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 13 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2014)Heuristics Entwined with Handlers CombinedProceedings of the 16th International Symposium on Principles and Practice of Declarative Programming10.1145/2643135.2643145(259-270)Online publication date: 8-Sep-2014
    • (2013)Search combinatorsConstraints10.1007/s10601-012-9137-818:2(269-305)Online publication date: 1-Apr-2013
    • (2013)An Introduction to Search CombinatorsLogic-Based Program Synthesis and Transformation10.1007/978-3-642-38197-3_2(2-16)Online publication date: 2013

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media