Sized Types for Typing Eden Skeletons
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.
KeywordsType System Type Variable Type Scheme List Type Interface Type
Unable to display preview. Download preview PDF.
- BLOP98.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.Google Scholar
- Col89.M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Research monographs in parallel and distributed computing. Pitman, 1989.Google Scholar
- HPS96.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.Google Scholar
- KPR00.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.Google Scholar
- Par97.L. Pareto. Sized types. Licenciate Dissertation, Chalmers University of Technology, G teborg, Sweden, 1997.Google Scholar
- Par00.L. Pareto. Types for Crash Prevention. PhD thesis, Chalmers University of Technology and G teborg University, Sweden, 2000.Google Scholar
- PHH+93.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.Google Scholar
- PR01.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.Google Scholar
- Tur95.D. A. Turner. Elementary Strong Functional Programming. In Functional Programming Languages in Education, FPLE’95, pages 1–13. LNCS 1022, Springer, 1995.Google Scholar