Skip to main content

Concurrent Monadic Interfacing

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

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

Included in the following conference series:

Abstract

In this paper we present the Brisk monadic framework, in which the usual monadic style of interfacing is adapted to accommodate a deterministic form of concurrency. Its main innovation is to allow actions on state components. This is a key issue which enables state splitting, a technique which assigns to each new thread a part of the state, a substate, to act upon. Distinct concurrent threads are restricted to access disjoint substates. A purely functional prototype implementation is presented to demonstrate these ideas. The resulting system acts as a basis for offering a purely functional form of concurrency, extending the expressiveness of functional languages without spoiling the semantics by introducing non-determinism.

Brisk stands for Bristol Haskell compiler

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

Access this chapter

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. P. Achten and M.J. Plasmeijer. The Ins and Outs of Clean I/O. Journal of Functional Programming, 5(1):81–110, 1995.

    Article  MATH  Google Scholar 

  2. L. Augustsson and B. Boutel et al. Report on the Functional Programming Language Haskell, Version 1.4, 1997.

    Google Scholar 

  3. D. Carter. Deterministic Concurrency. Master’s thesis, Department of Computer Science, University of Bristol, September 1994.

    Google Scholar 

  4. S.O. Finne and S.L. Peyton Jones. Programming Reactive Systems in Haskell. In Proc. 1994 Glasgow Functional Programming Workshop, Ayr, Scotland, 1994. Springer-Verlag WiCS.

    Google Scholar 

  5. S.O. Finne and S.L. Peyton Jones. Composing Haggis. In Proc 5th Eurographics Workshop on Programming Paradigms in Graphics, Maastricht, September 1995.

    Google Scholar 

  6. S.L. Peyton Jones, A.D. Gordon, and S.O. Finne. Concurrent Haskell. In Proc. 23rd. ACM Symposium on Principles of Programming Languages (POPL’ 96), pages 295–308, St Petersburg Beach, Florida, January 1996. ACM Press.

    Chapter  Google Scholar 

  7. I. Holyer, N. Davies, and E. Spiliopoulou. Distribution in a Demand Driven Style. In 1st International Workshop on Component-based Software Development in Computational Logic, September 1998.

    Google Scholar 

  8. Ian Holyer and David Carter. Concurrency in a Purely Declarative Style. In J.T. O’Donnell and K. Hammond, editors, Proc. 1993 Glasgow Functional Programming Workshop, pages 145–155, Ayr, Scotland, 1993. Springer-Verlag WiCS.

    Google Scholar 

  9. K. Kagawa. Compositional References for Stateful Functional Programs. In Proc. 1997 ACM International Conference on Functional Programming (ICFP’ 97), Amsterdam, The Netherlands, June 1997. ACM Press.

    Google Scholar 

  10. J. Launchbury. Lazy Imperative Programming. In ACM SIGPLAN Workshop on State in Programming Languages, June 1993.

    Google Scholar 

  11. J. Launchbury and S.L. Peyton Jones. Lazy Functional State Threads. In Proc. 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’ 96), Orlando, 1994. ACM Press.

    Google Scholar 

  12. S.L. Peyton Jones and J. Launchbury. State in Haskell. Lisp and Symbolic Computation, 8(4):293–341, 1995.

    Article  Google Scholar 

  13. S.L. Peyton Jones and P.L. Wadler. Imperative Functional Programming. In Proc. 20th. ACM Symposium on Principles of Programming Languages (POPL’ 93), Charleston, January 1993. ACM Press.

    Google Scholar 

  14. P.L. Philip. Comprehending Monads. In Proc. 1990 ACM Conference on Lisp and Functional Programming (LFP’ 90), pages 61–78, June 1990.

    Google Scholar 

  15. P. Serrarens. BriX-A Deterministic Concurrent Functional X Windows System. Master’s thesis, Computer Science Department, Bristol University, June 1995.

    Google Scholar 

  16. W.R. Stoye. A New Scheme for Writing Functional Operating Systems. Technical Report Technical Report 56, Cambridge University, Computer Lab, 1984.

    Google Scholar 

  17. D. Turner. Functional Programming and Communicating Processes. In J.W. Bakker, A.J. Nijman, and P.C. Treleaven, editors, PARLE II, volume 259 of LNCS, pages 54–74, Eindhoven, The Netherlands, June 1987. Springer Verlag.

    Google Scholar 

  18. P.L. Wadler. The Essence of Functional Programming. In Proc. 19th. ACM Symposium on Principles of Programming Languages (POPL’ 92), Albuquerque (New Mexico, USA), January 1992. ACM Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Holyer, I., Spiliopoulou, E. (1999). Concurrent Monadic Interfacing. In: Hammond, K., Davie, T., Clack, C. (eds) Implementation of Functional Languages. IFL 1998. Lecture Notes in Computer Science, vol 1595. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48515-5_5

Download citation

  • DOI: https://doi.org/10.1007/3-540-48515-5_5

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66229-7

  • Online ISBN: 978-3-540-48515-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics