Skip to main content

Non-determinism Analysis in a Parallel-Functional Language

  • Conference paper
  • First Online:
Implementation of Functional Languages (IFL 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2011))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 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. 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. P. Cousot and R. Cousot. Abstract interpretation frameworks. Journal of Logic and Computation, 2(4):511–547, Aug. 1992.

    Article  MATH  MathSciNet  Google Scholar 

  5. 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. 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. 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. 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. 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. J. McCarthy. Towards a Mathematical Theory of Computation. In Proc. IFIP Congress 62, pages 21–28, Amsterdam, 1963. North-Holland.

    Google Scholar 

  11. F. Nielson, H. R. Nielson, and C. Hankin. Principles of Program Analysis. Springer-Verlag, 1999.

    Google Scholar 

  12. 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. 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. 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. 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.

    MATH  Google Scholar 

  16. 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. H. Søndergaard and P. Sestoft. Referential Transparency, Definiteness and Unfoldability. Acta Informatica, 27(6):505–517, May 1990.

    Article  MATH  MathSciNet  Google Scholar 

  18. H. Søndergaard and P. Sestoft. Non-Determinism in Functional Languages. Computer Journal, 35(5):514–523, Oct 1992.

    Article  MathSciNet  Google Scholar 

  19. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Peña, R., Segura, C. (2001). Non-determinism Analysis in a Parallel-Functional Language. In: Mohnen, M., Koopman, P. (eds) Implementation of Functional Languages. IFL 2000. Lecture Notes in Computer Science, vol 2011. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45361-X_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-45361-X_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41919-8

  • Online ISBN: 978-3-540-45361-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics