Skip to main content
    • Aa
    • Aa
  • Get access
    Check if you have access via personal or institutional login
  • Cited by 8
  • Cited by
    This article has been cited by the following publications. This list is generated based on data provided by CrossRef.

    SPOONHOWER, DANIEL BLELLOCH, GUY E. HARPER, ROBERT and GIBBONS, PHILLIP B. 2010. Space profiling for parallel functional programs. Journal of Functional Programming, Vol. 20, Issue. 5-6, p. 417.

    Gustavsson, Jörgen and Sands, David 1999. A Foundation for Space-Safe Transformations of Call-by-Need Programs. Electronic Notes in Theoretical Computer Science, Vol. 26, p. 69.

    Toyn, I Cattrall, D.M McDermid, J.A and Jacob, J.L 1998. A practical language and toolkit for high-integrity tools. Journal of Systems and Software, Vol. 41, Issue. 3, p. 161.

    Appel, Andrew W. and Shao, Zhong 1996. Empirical and analytic study of stack versus heap cost for languages with closures. Journal of Functional Programming, Vol. 6, Issue. 01, p. 47.

    Carpenter, D. B. and Glaser, H. 1996. Some lattice-based scientific problems, expressed in Haskell. Journal of Functional Programming, Vol. 6, Issue. 03, p. 419.

    Grant, P. W. Sharp, J. A. Webster, M. F. and Zhang, X. 1996. Sparse matrix representations in a functional language. Journal of Functional Programming, Vol. 6, Issue. 01, p. 143.

    Runciman, Colin and Röjemo, Niklas 1996. New dimensions in heap profiling. Journal of Functional Programming, Vol. 6, Issue. 04, p. 587.

    Appel, Andrew W. 1993. A critique of Standard ML. Journal of Functional Programming, Vol. 3, Issue. 04, p. 391.


Heap profiling of lazy functional programs

  • Colin Runciman (a1) and David Wakeling (a1)
  • DOI:
  • Published online: 01 November 2008

We describe the design, implementation and use of a new kind of profiling tool that yields valuable information about the memory use of lazy functional programs. The tool has two parts: a modified functional language implementation which generates profiling information during the execution of programs, and a separate program which converts this information to graphical form. With the aid of profile graphs, one can make alterations to a functional program which dramatically reduce its space consumption. We demonstrate this in the case of a genuine example - the first to which the tool was applied - for which the results are strikingly successful.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

L. Augustsson and T. Johnsson 1989. The Chalmers Lazy-ML Compiler. Computer Journal 32(2): 127141, 04.

P. H. Hartel and A. H. Veen 1988. Statistics on graph reduction of SASL programs. Software-Practice and Experience 18: 239253.

T. Johnsson 1985. Lambda lifting: Transforming programs to recursive equations. In Proceedings Conference on Functional Programming Languages and Computer Architecture, 190203Springer-Verlag, 09.

R. Jones 1992. Tail recursion without space leaks. Journal of Functional Programming 2(1): 7379, 01.

S. L. Peyton Jones 1992. Implementation of Functional Languages on Stock Hardware: The Spineless Tagless G-machine. Journal of Functional Programming 2(2): 127202, 04.

D. Sands 1991. Time analysis, cost equivalence and program refinement. In Proceedings Conference on the Foundations of Software Technology and Theoretical Computer Science, 2539. Springer-Verlag, 12.

P. Wadler 1987. Fixing some space leaks with a garbage collector. Software-Practice and Experience 17 (9): 595608, 09.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *