Hidalgo Herrero, Mercedes and Ortega Mallen, Yolanda (2009) To be or not to be. . . lazy (In a Parallel Context)1. Electronic Notes in Theoretical Computer Science, 258 . pp. 21-39. ISSN 1571-0661
Restricted to Repository staff only until 2020.
Laziness restricts the exploitation of parallelism because expressions are evaluated only on demand. Thus, parallel extensions of lazy functional languages, like Haskell, usually override laziness to some extent. The purpose of the present work is to analyze how and to which extent strictness should be introduced in a lazy language to design a parallel extension of it. Towards this end, we have considered different evaluation strategies mixing laziness and eagerness for the language Eden —a parallel extension of Haskell—, we have given formal definitions for each, and we have implemented them in an interpreter to be able to run examples with alternative evaluation models, so that we can observe the intermediate and final states of the processes in the system, in terms of heaps of closures. Although the study is based on Eden, the concepts involved and the conclusions that we have obtained can be transferred to other parallel and functional languages.
|Uncontrolled Keywords:||Functional programming; Parallelism; Semantics; Distribution.|
|Subjects:||Sciences > Computer science > Programming languages (Electronic computers)|
C. Baker-Finch, D. King, and P. W. Trinder. An operational semantics for parallel lazy evaluation. In ACM-SIGPLAN International Conference on Functional Programming (ICFP’00), pages 162–173, Montreal, Canada, September 2000.
M. M. T. Chakravarty, R. Leshchinskiy, S. L. Peyton Jones, G. Keller, and S. Marlow. Data parallel haskell: a status report. In DAMP, pages 10–18, 2007.
M. J. Gabbay, S. H. Haeri, Y. Ortega-Mallen, and P. W. Trinder. Reasoning about selective strictness: operational equivalence, heaps and call-by-need evaluation, new inductive principles.(Work in progress available from authors), 2009.
M. Hidalgo-Herrero. Sem´anticas formales para un lenguaje funcional paralelo. PhD thesis,Dept. Sistemas Inform´aticos y Programaci´on, Universidad Complutense de Madrid, 2004.
M. Hidalgo-Herrero and Y. Ortega-Mallen. An operational semantics for the parallel language Eden. Parallel Processing Letters (World Scientific Publishing Company), 12(2):211–228, 2002.
M. Hidalgo-Herrero, Y. Ortega-Mallen, and F. Rubio.Analyzing the influence of mixed evaluation on the performance of Eden skeletons. Parallel Computing, 32(7-8):523–538, 2006.
M. Hidalgo-Herrero, Y. Ortega-Mallen, and F. Rubio.Comparing alternative evaluation strategies for stream-based parallel functional languages. In Proceedings of the 18th International Workshop on Implementation of Functional Languages, (IFL’06 selected papers), pages 55–72. LNCS 4449, Springer, 2007.
K. Ibach. Ozfun: A functional language for mixed eager and lazy programming. In Jean-Luc Cochard, editor,International Workshop on Oz Programming, pages 87–92. IDIAP, 1995.
G. Kahn and D. MacQueen. Coroutines and networks of parallel processes. In IFIP’77, pages 993–998. Eds. B. Gilchrist. North-Holland, 1977.
P. Kelly. Functional Programming for Loosely-Coupled Multiprocessors. Pitman, 1989.
J. Launchbury. A natural semantics for lazy evaluation. In ACM Symposium on Principles of Programming Languages, POPL’93, pages 144–154. ACM Press, 1993.
|Deposited On:||26 Nov 2012 09:00|
|Last Modified:||07 Feb 2014 09:43|
Repository Staff Only: item control page