To the Gates of HAL: A HAL Tutorial

  • Conference paper
  • First Online:
Functional and Logic Programming (FLOPS 2002)

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

Included in the following conference series:

Abstract

Experience using constraint programming to solve real-life problems has shown that finding an efficient solution to the problem often requires experimentation with different constraint solvers or even building a problem-specific constraint solver. HAL is a new constraint logic programming language expressly designed to facilitate this process. It provides semi-optional type, mode and determinism declarations. These allow natural constraint specification by means of type overloading, better compile-time error checking and generation of more efficient run-time code. Importantly, it provides type classes which can be used to specify solver interfaces, allowing the constraint programmer to support modelling of a constraint problem independent of a particular solver, leading to easy “plug and play” experimentation with different solvers. Other interesting features include mutable global variables for implementing a constraint store, and dynamic scheduling and Constraint Handling Rules (CHRs) for combining, extending and writing new constraint solvers.

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

Access this chapter

Subscribe and save

Springer+ Basic
EUR 32.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or Ebook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
GBP 19.95
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
GBP 35.99
Price includes VAT (United Kingdom)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
GBP 44.99
Price includes VAT (United Kingdom)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free ship** 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.

Similar content being viewed by others

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. 55

    Google Scholar 

  2. M. García de la Banda, D. Jeffery, K. Marriott, P. J. Stuckey, N. Nethercote, and C. Holzbaur. Building constraint solvers with HAL. In P. Codognet, editor, Logic Programming: Proceedings of the 17th International Conference, LNCS, pages 90–104. Springer-Verlag, 2001. 49

    Google Scholar 

  3. B. Demoen, M. García de la Banda, W. Harvey, K. Marriott, and P. J. Stuckey. Herbrand constraint solving in HAL. In D. De Schreye, editor, Logic Programming: Proceedings of the 16th International Conference, pages 260–274. MIT Press, 1999. 49, 64

    Google Scholar 

  4. B. Demoen, M. García de la Banda, W. Harvey, K. Marriott, and P. J. Stuckey. An overview of HAL. In J. Jaffar, editor, Proceedings of the Fourth International Conference on Principles and Practices of Constraint Programming, LNCS, pages 174–188. Springer-Verlag, October 1999. 49

    Google Scholar 

  5. B. Demoen, M. García de la Banda, and P. J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Procs. of the 22nd Australian Comp. Sci. Conf., pages 217–228, 1999. 64

    Google Scholar 

  6. D. Diaz and P. Codognet. A minimal extension of the WAM for clp(fd). In Procs. of ICLP93, pages 774–790, 1993. 47

    Google Scholar 

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

    Google Scholar 

  8. T. Früwirth. Theory and practice of constraint handling rules. Journal of Logic Programming, 37:95–138, 1998. 47, 62

    Article  MathSciNet  Google Scholar 

  9. M. García de la Banda, P. J. Stuckey, W. Harvey, and K. Marriott. Mode checking in HAL. In J. LLoyd et al., editor, Proceedings of the First International Conference on Computational Logic, LNCS 1861, pages 1270–1284. Springer-Verlag, July 2000. 49, 54, 64

    Google Scholar 

  10. W. Harvey and P. J. Stuckey. Constraint representation for propagation. In Procs. of PPCP98, pages 235–249, 1998. 64

    Google Scholar 

  11. M. Hermenegildo, F. Bueno, D. Cabeza, M. García de la Banda, P. López, and G. Puebla. The CIAO multi-dialect compiler and system. In Parallelism and Implementation of Logic and Constraint Logic Programming. Nova Science, 1999. 51

    Google Scholar 

  12. C. Holzbaur. Metastructures vs. attributed variables in the context of extensible unification. In Procs. of the PLILP92, pages 260–268, 1992. 47

    Google Scholar 

  13. C. Holzbaur, P. J. Stuckey, M. García de la Banda, and D. Jeffery. Optimizing compilation of constraint handling rules. In P. Codognet, editor, Logic Programming: Proceedings of the 17th International Conference, LNCS, pages 74–89. Springer-Verlag, 2001. 49, 62

    Google Scholar 

  14. ILOG. CPLEX product page. http://www.ilog.com/products/cplex/. 64

  15. J. Jaffar, S. Michaylov, P. Stuckey, and R. Yap. The CLP(ℜ) language and system. ACM Transactions on Programming Languages and Systems, 4(3):339–395, 1992. 47

    Article  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  19. N. Nethercote. The analysis framework for HAL. Master’s thesis, Dept. of Comp. Sci and Soft. Eng, University of Melbourne, 2002. 64

    Google Scholar 

  20. Z. Somogyi, F. Henderson, and T. Conway. The execution algorithm of Mercury: an efficient purely declarative logic programming language. Journal of Logic Programming, 29:17–64, 1996. 49

    Article  MATH  Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

García de la Banda, M., Demoen, B., Marriott, K., Stuckey, P.J. (2002). To the Gates of HAL: A HAL Tutorial. In: Hu, Z., Rodríguez-Artalejo, M. (eds) Functional and Logic Programming. FLOPS 2002. Lecture Notes in Computer Science, vol 2441. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45788-7_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-45788-7_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-44233-2

  • Online ISBN: 978-3-540-45788-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics

Navigation