Skip to main content

Trailing Analysis for HAL

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

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

Included in the following conference series:

  • 368 Accesses

Abstract

The HAL language includes a Herbrand constraint solver which uses Taylor’s PARMA scheme rather than the standard WAM representation. This allows HAL to generate more efficient Mercury code. Unfortunately, PARMA’s variable representation requires value trailing with a trail stack consumption about twice as large as for the WAM. We present a trailing analysis aimed at determining which Herbrand variables do not need to be trailed. The accuracy of the analysis comes from HAL’s semi-optional determinism and mode declarations. The analysis has been partially integrated in the HAL compiler and benchmark programs show good speed-up.

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. H. Aït-Kaci. Warren’s Abstract Machine: A Tutorial Reconstruction. MIT Press, 1991.

    Google Scholar 

  2. B. Demoen, M. García de la Banda, W. Harvey, K. Marriott, and P. J. Stuckey. Herbrand Constraint Solving in HAL. In International Conference on Logic Programming, pages 260–274, 1999.

    Google Scholar 

  3. B. Demoen, M. García de la Banda, W. Harvey, K. Marriott, and P. J. Stuckey. An Overview of HAL. In Principles and Practice of Constraint Programming, pages 174–188, 1999.

    Google Scholar 

  4. S. Debray. A Simple Code Improvement Scheme for Prolog. Journal of Logic Programming, 13(1):349–366, May 1992.

    Google Scholar 

  5. M. García de la Banda, K. Marriott, P. Stuckey, and H. Søndergaard. Differential methods in logic program analysis. JLP, 35:1–37, 1998.

    Article  MATH  Google Scholar 

  6. P. Van Hentenryck, A. Cortesi, and B. Le Charlier. Type analysis of Prolog using type graphs. JLP, 22:179–209, 1995.

    Article  MATH  Google Scholar 

  7. G. Janssens and M. Bruynooghe. Deriving descriptions of possible value of program variables by means of abstract interpretation. JLP, 13:205–258, 1993.

    Article  MathSciNet  Google Scholar 

  8. A. Mulkers, W. Winsborough, and M. Bruynooghe. Live-structure dataflow analysis for prolog. ACM TOPLAS, 16:205–258, 1994.

    Article  Google Scholar 

  9. N. Nethercote. The Analysis Framework of HAL. Master’s thesis, University of Melbourne, September 2001.

    Google Scholar 

  10. J. Noyé. Elagage de contexte, retour arrière superficiel, modifications réversibles et autres: une étude approfondie de la WAM. PhD thesis, Université de Rennes I, November 1994.

    Google Scholar 

  11. P. Van Roy and A. Despain. High-performance logic programming with the aquarius prolog compiler. IEEE Computer, 25(1):54–68, 1992.

    Google Scholar 

  12. T. Schrijvers and B. Demoen. Combining an Improvement to PARMA Trailing with Analysis in HAL. Technical Report 338, K.U.Leuven, April 2002.

    Google Scholar 

  13. Z. Somogyi, F. Henderson, and T. Conway. Mercury: an efficient purely declarative logic programming language. In Australian Computer Science Conference, pages 499–512, February 1995.

    Google Scholar 

  14. H. Søndergaard. An application of abstract interpretation of logic programs: occur check reduction. In European Symposium on Programming, LNCS 123, pages 327–338. Springer-Verlag, 1986.

    Google Scholar 

  15. A. Taylor. High Performace Prolog Implementation. PhD thesis, Basser Department of Computer Science, June 1991.

    Google Scholar 

  16. A. Taylor. Parma-Bridging the Performance GAP Between Imperative and Logic Programming. Journal of Logic Programming, 29(1–3):5–16, 1996.

    Article  MATH  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

Schrijvers, T., de la Banda, M.G., Demoen, B. (2002). Trailing Analysis for HAL. In: Stuckey, P.J. (eds) Logic Programming. ICLP 2002. Lecture Notes in Computer Science, vol 2401. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45619-8_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-45619-8_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43930-1

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

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics