Advertisement

Non-determinism Analysis in a Parallel-Functional Language

  • Ricardo Peña
  • Clara Segura
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2011)

Abstract

The paper presents several analyses to detect non-deterministic expressions in the parallel-functional language Eden. First, the need for the analysis is motivated, and then each one is presented. The first one is type-based, while the other two are based on abstract interpretation. Their power and efficiency is discussed, and an example is used to illustrate the differences. Two interesting functions to adapt abstract values to types appear, and they happen to be a Galois insertion.

Keywords

Abstract Interpretation Basic Annotation Functional Programming Abstract Domain Functional Language 
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. BFGJ00.
    C. Baker-Finch, K. Glynn, and S. L. Peyton Jones. Constructed Product Result Analysis for Haskell. 2000. Submitted to International Conference on Functional Programming, ICFP’00.Google Scholar
  2. BHA86.
    G. L. Burn, C. L. Hankin, and S. Abramsky. The Theory of Strictness Analysis for Higher Order Functions. In Programs as Data Objects, volume 217 of LNCS, pages 42–62. Springer-Verlag, Oct. 1986.Google Scholar
  3. BLOP98.
    S. Breitinger, R. Loogen, Y. Ortega Mallén, and R. Peña. Eden: Language Definition and Operational Semantics. Technical Report, Bericht 96-10. Revised version 1.998, Philipps-Universität Marburg, Germany, 1998.Google Scholar
  4. CC92.
    P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511–547, Aug. 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  5. GS00.
    J. Gustavsson and J. Svenningsson. A usage analysis with bounded usage polymorphism and subtyping. In Proceedings of the 12th International Workshop on Implementation of Functional Languages, pages 279–294, 2000. Also in this volume.Google Scholar
  6. Hen82.
    P. Henderson. Purely Functional Operating Systems. In Functional Programming and its Applications: An Advanced Course, pages 177–191. Cambridge University Press, 1982.Google Scholar
  7. HO90.
    R. J. M. Hughes and J. O'Donnell. Expressing and Reasoning About Non-Deterministic Functional Programs. In Functional Programming: Proceedings of the 1989 Glasgow Workshop, 21-23 Aug. 1989, pages 308–328, London, UK, 1990. Springer-Verlag.Google Scholar
  8. JPS96.
    S. L. Peyton Jones, W. Partain, and A. L. M. Santos. Let-floating: moving bindings to give faster programs. International Conference on Functional Programming ICFP’96, May 1996.Google Scholar
  9. KPR00.
    U. Klusik, R. Peña, 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
  10. McC63.
    J. McCarthy. Towards a Mathematical Theory of Computation. In Proc. IFIP Congress 62, pages 21–28, Amsterdam, 1963. North-Holland.Google Scholar
  11. NNH99.
    F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag, 1999.Google Scholar
  12. 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, DTI/SERC, pages 249–257, 1993.Google Scholar
  13. PP93.
    S. L. Peyton Jones and W. Partain. Measuring the effectiveness of a simple strictness analyser. In Glasgow Workshop on Functional Programming 1993, Workshops in Computing, pages 201–220. Springer-Verlag, 1993.Google Scholar
  14. PPRS00.
    C. Pareja, R. Peña, F. Rubio, and C. Segura. Optimizing Eden by Transformation. In Trends in Functional Programming (Volume 2). Proceedings of 2nd Scottish Functional Programming Workshop, SFP’00, pages 13–26. Intellect, 2000.Google Scholar
  15. PS98.
    S. L. Peyton Jones and A. L. M. Santos. A Transformation-based Optimiser for Haskell. Science of Computer Programming 32(1–3):3–47, Sept. 1998.zbMATHGoogle Scholar
  16. San95.
    A. L. M. Santos. Compilation by Transformation in Non-Strict Functional Languages. PhD thesis, Department of Computing Science. University of Glasgow, 1995.Google Scholar
  17. SS90.
    H. Søndergaard and P. Sestoft. Referential Transparency, Definiteness and Unfoldability. Acta Informatica, 27(6):505–517, May 1990.zbMATHCrossRefMathSciNetGoogle Scholar
  18. SS92.
    H. Søndergaard and P. Sestoft. Non-Determinism in Functional Languages. Computer Journal, 35(5):514–523, Oct 1992.CrossRefMathSciNetGoogle Scholar
  19. TWM95.
    D. N. Turner, P. L. Wadler, and C. Mossin. Once Upon a Type. In 1995 Conf. on Functional Programming and Computer Architecture, pages 1–11, 1995.Google Scholar
  20. WJ99.
    K. Wansbrough and S. L. Peyton Jones. Once upon a polymorphic type. In The Twenty-sixth ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Antonio, Texas, Jan. 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Ricardo Peña
    • 1
  • Clara Segura
    • 1
  1. 1.Universidad Complutense de MadridSpain

Personalised recommendations