Skip to main content

Naira: A parallel 2Haskell compiler

  • Conference paper
  • First Online:
Book cover 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:

  • 106 Accesses

Abstract

Naira is a compiler for a parallel dialect of Haskell, compiling to a graph-reducing parallel abstract machine with a strong dataflow influence. Unusually (perhaps even uniquely), Naira has itself been parallelised using state-of-the-art tools developed at Glasgow and St Andrews Universities. Thus Naira is a parallel, parallelising compiler in one. This paper reports initial performance results that have been obtained using the GranSim simulator, both for the top-level pipeline and for individual compilation stages. We show that a modest but useful degree of parallelism can be achieved even for a distributed-memory machine. The simulation results have been verified on a network of distributed workstations using the GUM parallel implementation of Haskell.

Supported by the Federal Government of Nigeria under Federal Scholarship Scheme. I also acknowledge the support of Islamic Relief, Makkah, Saudi Arabia.

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. L Augustsson, M Rittri and D Synek, “On Generating Unique Names”,. Journal of Functional Programming, 4(1), pp. 117–123, January, 1994.

    Google Scholar 

  2. K Hammond, CV Hall, H-W Loidl and PW Trinder, “Parallel Cost Centre Profiling”,. In 1997 Glasgow Workshop on Functional Programming, Ullapool, Scotland, September 1997.

    Google Scholar 

  3. K Hammond, H-W Loidl and AS Partridge, “Visualising Granularity in Parallel Programs: A Graphical Winnowing System for Haskell”,. In HPFC'95—Conf. on High Performance Functional Computing, pp. 208–221, Denver, CO, April 10–12, 1995.

    Google Scholar 

  4. P Hudak, SL Peyton Jones, and PL Wadler (eds.), “Report on the Programming Language Haskell Version 1.2”,. ACM SIGPLAN Notices 27(5), May 1992.

    Google Scholar 

  5. K Hammond, “Efficient Type Inference Using Monads”,. In Proceedings, 1990 Glasgow FP Workshop, Ullapool, Scotland, August 1990.

    Google Scholar 

  6. T Johnsson, Compiling Lazy Functional Languages. Ph.D. Thesis, Department of Computer Science, Chalmers University of Technology, Gothenborg, Sweden, 1987.

    Google Scholar 

  7. S Junaidu, A Parallel Functional Language Compiler for Message Passing Multicomputers. Forthcoming PhD thesis, School of Mathematical and Computational Sciences, St Andrews University, Scotland, 1998.

    Google Scholar 

  8. H-W Loidl, “GranSim User's Guide, Version 0.03”,. Department of Computing Science, University of Glasgow, July 1996.

    Google Scholar 

  9. EGJMH Nöcker, JEW Smetsers, MCJD van Eekelen and MJ Plasmeijer, “Concurrent Clean”,. In Proc. PARLE '91, Springer-Verlag LNCS 506, pp. 202–219.

    Google Scholar 

  10. G Ostheimer, Parallel Functional Programming for Message Passing Multiprocessors. PhD Thesis, Department of Mathematical and Computational Sciences, St. Andrews University, Scotland, 1993.

    Google Scholar 

  11. SL Peyton Jones, The Implementation of Functional Programming Languages. Prentice Hall International, 1987.

    Google Scholar 

  12. SL Peyton Jones, “Implementing Functional Languages on Stock Hardware: the Spineless Tagless G-machine”,. Journal of Functional Programming, 2(2), pp. 127–202, 1992.

    Article  Google Scholar 

  13. SL Peyton Jones, D Lester, Implementing Functional Languages: A Tutorial. Prentice Hall International, 1991.

    Google Scholar 

  14. PM Sansom and SL Peyton Jones, “Time and Space Profiling for Non-strict Higher Order Functional Languages”,. In Proc. 22nd ACM Symposium on Principles of Programming Languages, San Francisco, California, January 1995.

    Google Scholar 

  15. S Skedzielewski, “Sisal”,. In Parallel Functional Languages and Compilers, Frontier Series, ACM Press, New York 1991.

    Google Scholar 

  16. PW Trinder, K Hammond, H-W Loidl, SL Peyton Jones, and J Wu, “A Case Study of Data-intensive Programs in Parallel Haskell”,. In Proc. 1996 Glasgow Workshop on Functional Programming 1996, Ullapool, Scotland, July 8–10.

    Google Scholar 

  17. PW Trinder, K Hammond, JS Mattson Jr., AS Partridge and SL Peyton Jones, “GUM: A Portable Parallel Implementation of Haskell”,. In PLDI '96 — Programming Languages Design and Implementation, pp. 78–88, Philadelphia, PA, May 1996.

    Google Scholar 

  18. PW Trinder, K Hammond, HW Loidl and SL Peyton Jones “Algorithm + Strategy = Parallelism”,. In Journal of Functional Programming, 8(1), January, 1998.

    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

Junaidu, S., Davie, A., Hammond, K. (1998). Naira: A parallel 2Haskell compiler. 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/BFb0055433

Download citation

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

  • 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