Abstract
The parallel-functional language Eden extends Haskell with constructs to explicitly define and communicate processes. These extensions allow the easy definition of skeletons as higher-order functions. However, the programmer can inadvertently introduce busy loops or deadlocks in them. In this paper a sized type system is extended in order to use it for Eden programs, so that those well-typed skeletons are guaranteed either to terminate or to be productive. The problems raised by Eden features and their possible solutions are described in detail, and several skeletons are manually type checked in this modified system such as the parallel map, farm, pipeline, and replicated workers.
Work partially supported by the Spanish-British Acción Integrada HB 1999-0102 and Spanish project TIC 2000-0738.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
S. Breitinger, R. Loogen, Y. Ortega Mallén, and R. Pena. Eden: Language Definition and Operational Semantics. Technical Report, Bericht 96-10. Revised version 1.998, Philipps-Universität Marburg, Germany, 1998.
M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Research monographs in parallel and distributed computing. Pitman, 1989.
J. Hughes, L. Pareto, and A. Sabry. Proving the correctness of reactive systems using sized types. In Conference Record of POPL’ 96: The 23rd ACM SIGPLAN-SIGACT, pages 410–423, 1996.
U. Klusik, R. Pena, and F. Rubio. Replicated Workers in Eden. 2nd International Workshop on Constructive Methods for Parallel Programming (CMPP 2000). To be published by Nova Science, 2000.
L. Pareto. Sized types. Licenciate Dissertation, Chalmers University of Technology, G teborg, Sweden, 1997.
L. Pareto. Types for Crash Prevention. PhD thesis, Chalmers University of Technology and G teborg University, Sweden, 2000.
S. L. Peyton Jones, C. V. Hall, K. Hammond, W. D. Partain, and P. L. Wadler. The Glasgow Haskell Compiler: A Technical Overview. In Joint Framework for Inf. Technology, Keele, pages 249–257, 1993.
R. Pe a and F. Rubio. Parallel Functional Programming al Two Levels of Abstraction. In Principles and Practice of Declarative Programming, PPDP’01. To appear in ACM Press, 2001.
B. A. Sijtsma. On the Productivity of Recursive List Definitions. ACM Transactions on Programming Languages and Systems, 11(4):633–649, October 1989.
D. A. Turner. Elementary Strong Functional Programming. In Functional Programming Languages in Education, FPLE’95, pages 1–13. LNCS 1022, Springer, 1995.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pena, R., Segura, C. (2002). Sized Types for Typing Eden Skeletons. In: Arts, T., Mohnen, M. (eds) Implementation of Functional Languages. IFL 2001. Lecture Notes in Computer Science, vol 2312. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46028-4_1
Download citation
DOI: https://doi.org/10.1007/3-540-46028-4_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43537-2
Online ISBN: 978-3-540-46028-2
eBook Packages: Springer Book Archive