Skip to main content

Building Constraint Solvers with HAL

  • Conference paper
  • First Online:
Logic Programming (ICLP 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2237))

Included in the following conference series:

Abstract

Experience using constrain programming to solve real-life problems has shown that finding an efficient solution to a problem often requires experimentation with different constrain solvers or even building a problem-specific solver. HAL is a new constrain logic programming language expressly designed to facilitate this process. In this paper we examine different ways of building solvers in HAL. We explain how type classes can be used to specify solver interfaces, allowing the constrain programmer to support modelling of a constrain problem independently of a particular solver, leading to easy “plug and play” experimentation. We compare a number of different ways of writing a simple solver in HAL: using dynamic scheduling, constrain handling rules and building on an existing solver. We also examine how external solvers may be interfaced with HAL, and approaches for removing interface overhead.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. F. Bueno, M. Garcia de la Banda, M. Hermenegildo, K. Marriott, G. Puebla, and P.J. Stuckey. A model for inter-module analysis and optimizing compilation. In Procs of LOPSTR2000, volume 2042 of LNCS, pages 86–102, 2001.

    Google Scholar 

  2. P. Codognet and D. Diaz.Boolean constrain solving using clp(FD). In Procs. of ILPS’1993, pages 525–539. MIT Press,1993.

    Google Scholar 

  3. B. Demoen, M. Garc ía de la Banda, W. Harvey, K. Marriott, and P.J. Stuckey. An overview of HAL. In Procs. of PPCP’ 99, LNCS, pages 174–188, 1999.

    Google Scholar 

  4. A.J. Fernüandez and B.C. Ruiz Jiménez. Una semántica operacional para CProlog. In Proceedings of II Jornadas de Informática, pages 21–30, 1996.

    Google Scholar 

  5. T. Frühwirth. CHR home page.http://www.informatik.uni-muenchen.de/~fruehwir/chr/.

  6. T. Frühwirth. Theory and practice of constrain handling rules. Journal of Logic Programming, 37:95–138, 1998.

    Article  MATH  MathSciNet  Google Scholar 

  7. W. Harvey and P.J. Stuckey. Constrain representation for propagation. In Procs. of PPCP’98, LNCS, pages 235–249. Springer-Verlag, 1998.

    Google Scholar 

  8. C. Holzbaur, P.J. Stuckey, M. García de la Banda, and D. Jeffery. Optimizing compilation of constrain handling rules. In Procs. of ICLP17, LNCS, 2001.

    Google Scholar 

  9. D. Jeffery, F. Henderson, and Z. Somogyi. Type classes in Mercury. Technical Report 98/13, University of Melbourne, Australia, 1998.

    Google Scholar 

  10. S. Kaes. Parametric overloading in polymorphic programming languages. In ESOP’88 Programming Languages and Systems, volume 300 of LNCS, pages 131–141, 1988.

    Google Scholar 

  11. K. Marriott and P.J. Stuckey. Programming with Constraints:an Introduction. MIT Press, 1998.

    Google Scholar 

  12. Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an efficient purely declarative logic programming language. JLP, 29:17–64, 1996.

    Article  MATH  Google Scholar 

  13. M. Trick. http://mat.gsia.cmu.edu/COLOR/color.html.

  14. P. Wadler and S. Blott. How o make ad-hoc polymorphism less ad-hoc. In Proc. 16th ACM POPL, pages 60–76, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

de la Banda, M.G., Jeffery, D., Marriott, K., Nethercote, N., Stuckey, P.J., Holzbaur, C. (2001). Building Constraint Solvers with HAL. In: Codognet, P. (eds) Logic Programming. ICLP 2001. Lecture Notes in Computer Science, vol 2237. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45635-X_14

Download citation

  • DOI: https://doi.org/10.1007/3-540-45635-X_14

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42935-7

  • Online ISBN: 978-3-540-45635-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics