Advertisement

A Debugger for Parallel Haskell Dialects

  • Alberto de la Encina
  • Ismael Rodríguez
  • Fernando Rubio
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5022)

Abstract

Due to its high-level nature, parallel functional languages provide some advantages for the programmer. Unfortunately, the functional programming community has not paid much attention to some important practical problems, like debugging parallel programs. In this paper we introduce the first debugger that works with any parallel extension of the functional language Haskell, the de facto standard in the (lazy evaluation) functional programming community. The debugger is implemented as an independent library. Thus, it can be used with any Haskell compiler. Moreover, the debugger can be used to analyze how much speculative work has been done in any program.

Keywords

Homomorphic Image Speculative Work Functional Language Process Abstraction Algorithmic Skeleton 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Cole, M.: Algorithmic Skeletons: Structure Management of Parallel Computations. Research Monographs in Parallel and Distributed Computing. MIT Press (1989)Google Scholar
  2. 2.
    Cole, M.: Bringing skeletons out of the closet: A pragmatic manifesto for skeletal parallel programming. Parallel Computing 30, 389–406 (2004)CrossRefGoogle Scholar
  3. 3.
    Gill, A.: Debugging Haskell by observing intermediate data structures. In: Proceedings of the 4th Haskell Workshop. Tech. Rep. University of Nottingham (2000)Google Scholar
  4. 4.
    Kelly, P.H.J.: Functional Programming for Loosely-Coupled Multiprocessors. Research Monographs in Parallel and Distributed Computing. MIT Press (1989)Google Scholar
  5. 5.
    Klusik, U., Loogen, R., Priebe, S., Rubio, F.: Implementation skeletons in Eden: Low-effort parallel programming. In: Mohnen, M., Koopman, P. (eds.) IFL 2000. LNCS, vol. 2011, pp. 71–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Klusik, U., Peña, R., Rubio, F.: Replicated workers in Eden. In: Constructive Methods for Parallel Programming, CMPP 2000, pp. 143–164. Nova Science (2000)Google Scholar
  7. 7.
    Lipson, J.D.: Chinese remainder and interpolation algorithms. In: Symp. Symbolic and Algebraic Manipulation, SYMSAM 1971, pp. 372–391. Academic Press (1971)Google Scholar
  8. 8.
    Loidl, H.W., Rubio, F., Scaife, N., Hammond, K., Horiguchi, S., Klusik, U., Loogen, R., Michaelson, G.J., Peña, R., Rebón Portillo, Á.J., Priebe, S., Trinder, P.W.: Comparing parallel functional languages: Programming and performance. Higher-Order and Symbolic Computation 16(3), 203–251 (2003)zbMATHCrossRefGoogle Scholar
  9. 9.
    Loogen, R., Ortega-Mallén, Y., Peña, R., Priebe, S., Rubio, F.: Parallelism abstractions in Eden. In: Rabhi, F.A., Gorlatch, S. (eds.) Patterns and Skeletons for Parallel and Distributed Computing, pp. 95–128. Springer (2002)Google Scholar
  10. 10.
    Peyton Jones, S.L., Hughes, J.: Report on the programming language Haskell 98. Technical report (February 1999), http://www.haskell.org
  11. 11.
    Press, W., Teukolsky, S., Vetterling, W., Flannery, B.: LU Decomposition and Its Applications. In: Numerical Recipes in C: The Art of Scientific Computing, 2nd edn., Cambridge University Press (1992)Google Scholar
  12. 12.
    Scaife, N., Horiguchi, S., Michaelson, G., Bristow, P.: A parallel SML compiler based on algorithmic skeletons. Journal of Functional Programming 15(4), 615–650 (2005)zbMATHCrossRefGoogle Scholar
  13. 13.
    Trinder, P.W., Hammond, K., Mattson Jr., J.S., Partridge, A.S., Peyton Jones, S.L.: GUM: a portable parallel implementation of Haskell. In: Programming Language Design and Implementation, PLDI 1996, pp. 79–88. ACM Press (1996)Google Scholar
  14. 14.
    Trinder, P.W., Loidl, H.W., Pointon, R.F.: Parallel and distributed Haskells. Journal of Functional Programming 12(4-5), 469–510 (2002)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Alberto de la Encina
    • 1
  • Ismael Rodríguez
    • 1
  • Fernando Rubio
    • 1
  1. 1.Facultad InformáticaUniversidad Complutense de MadridMadridSpain

Personalised recommendations