Skip to main content

Complete and partial redex trails of functional computations

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 1997)

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

Included in the following conference series:

Abstract

Redex trails are histories of functional computations by graph reduction; their main application is fault-tracing. A prototype implementation of a tracer based on redex trails [8] demonstrated the promise of the technique, but was limited in two respects: (1) trails did not record every reduction, only those constructing a new value; (2) even so computing trails was very expensive, particularly in terms of the memory space they occupied. In this paper, we address both problems: complete redex trails provide a full computational record; partial versions of these trails exclude all but selected details, greatly reducing memory costs. We include results of experiments tracing several applications, including a compiler.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. S. A. Jarvis and R. G. Morgan. The results of: profiling large-scale lazy functional programs. In W. Kluge, editor, Implementation of Functional Languages, 8th International Workshop (IFL'96), Selected Papers, pages 200–221. Springer LNCS 1268, September 1996.

    Google Scholar 

  2. Henrik Nilsson and Jan Sparud. The evaluation dependence tree: an execution record for lazy functional debugging. Research Report LiTH-IDA-R-96-23, Department of Computer and Information Science, Linköping University, S-581 83, Linköping, Sweden, August 1996.

    Google Scholar 

  3. Henrik Nilsson and Jan Sparud. The evaluation dependence tree as a basis for lazy functional debugging. Journal of Automated Software Engineering, 4(2): 152–205, April 1997.

    Google Scholar 

  4. H. Phillips. The week-end problems book. Nonesuch Press, 1932.

    Google Scholar 

  5. N. Röjemo. Highlights from nhc — a space-efficient Haskell compiler. In Proc. 7th Intl. Conf. on Functional Programming Languages and Computer Architecture (FPCA '95), pages 282–292. ACM Press, June 1995.

    Google Scholar 

  6. N. Röjemo and C. Runciman. Lag, drag, void and use — heap profiling and space-efficient compilation revisited. In Proc. Intl. Conf. on Functional Programming, pages 34–41. ACM Press, June 1996.

    Google Scholar 

  7. P. M. Sansom and S. L. Peyton Jones. Formally based profiling for higher-order functional languages. ACM Transactions on Programming Languages and Systems, 19(2): 334–85, March 1997.

    Article  Google Scholar 

  8. J. Sparud and C. Runciman. Tracing lazy functional computations using redex trails. In Proc. 9th Intl. Symposium on Programming Languages, Implementations, Logics and Programs (PLILP'97), September 1997.

    Google Scholar 

  9. A. Tolmach and A. W. Appel. A debugger for Standard ML. Journal of Functional Programming, 5(2): 155–200, April 1995.

    Article  Google Scholar 

  10. A. P. Tolmach. Debugging Standard ML. PhD thesis, Princeton, USA, October 1992.

    Google Scholar 

  11. R. D. Watson. Tracing Lazy Evaluation by Program Transformation. PhD thesis, Southern Cross, Australia, October 1996.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Chris Clack Kevin Hammond Tony Davie

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sparud, J., Runciman, C. (1998). Complete and partial redex trails of functional computations. In: Clack, C., Hammond, K., Davie, T. (eds) Implementation of Functional Languages. IFL 1997. Lecture Notes in Computer Science, vol 1467. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055430

Download citation

  • DOI: https://doi.org/10.1007/BFb0055430

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64849-9

  • Online ISBN: 978-3-540-68528-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics