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.
Preview
Unable to display preview. Download preview PDF.
References
L Augustsson, M Rittri and D Synek, “On Generating Unique Names”,. Journal of Functional Programming, 4(1), pp. 117–123, January, 1994.
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.
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.
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.
K Hammond, “Efficient Type Inference Using Monads”,. In Proceedings, 1990 Glasgow FP Workshop, Ullapool, Scotland, August 1990.
T Johnsson, Compiling Lazy Functional Languages. Ph.D. Thesis, Department of Computer Science, Chalmers University of Technology, Gothenborg, Sweden, 1987.
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.
H-W Loidl, “GranSim User's Guide, Version 0.03”,. Department of Computing Science, University of Glasgow, July 1996.
EGJMH Nöcker, JEW Smetsers, MCJD van Eekelen and MJ Plasmeijer, “Concurrent Clean”,. In Proc. PARLE '91, Springer-Verlag LNCS 506, pp. 202–219.
G Ostheimer, Parallel Functional Programming for Message Passing Multiprocessors. PhD Thesis, Department of Mathematical and Computational Sciences, St. Andrews University, Scotland, 1993.
SL Peyton Jones, The Implementation of Functional Programming Languages. Prentice Hall International, 1987.
SL Peyton Jones, “Implementing Functional Languages on Stock Hardware: the Spineless Tagless G-machine”,. Journal of Functional Programming, 2(2), pp. 127–202, 1992.
SL Peyton Jones, D Lester, Implementing Functional Languages: A Tutorial. Prentice Hall International, 1991.
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.
S Skedzielewski, “Sisal”,. In Parallel Functional Languages and Compilers, Frontier Series, ACM Press, New York 1991.
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.
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.
PW Trinder, K Hammond, HW Loidl and SL Peyton Jones “Algorithm + Strategy = Parallelism”,. In Journal of Functional Programming, 8(1), January, 1998.
Author information
Authors and Affiliations
Editor information
Rights 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