Advertisement

Sized Types for Typing Eden Skeletons

  • Ricardo Pena
  • Clara Segura
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2312)

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.

Keywords

Type System Type Variable Type Scheme List Type Interface Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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
  2. Col89.
    M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Research monographs in parallel and distributed computing. Pitman, 1989.Google Scholar
  3. 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
  4. 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
  5. Par97.
    L. Pareto. Sized types. Licenciate Dissertation, Chalmers University of Technology, G teborg, Sweden, 1997.Google Scholar
  6. Par00.
    L. Pareto. Types for Crash Prevention. PhD thesis, Chalmers University of Technology and G teborg University, Sweden, 2000.Google Scholar
  7. 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
  8. 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
  9. Sij89.
    B. A. Sijtsma. On the Productivity of Recursive List Definitions. ACM Transactions on Programming Languages and Systems, 11(4):633–649, October 1989.CrossRefGoogle Scholar
  10. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Ricardo Pena
    • 1
  • Clara Segura
    • 1
  1. 1.Departamento de Sistemas Informáticos y ProgramaciónUniversidad Complutense de MadridMadrid

Personalised recommendations