Skip to main content

Type-Checked Message-Passing between Functional Processes

  • Conference paper
Functional Programming, Glasgow 1994

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

Abstract

Karlsson introduced the notion of communicating functional processes. It relied on a non-deterministic function, used within the functional program, to implement message-passing between processes. Stoye described a sorting office for inter-process messages which removed the need for non-determinism in the functional language. Turner added a limited form of static type-checking on message traffic passing through the sorting office. This paper describes the use of constructor classes to improve the static type-checking model, with example applications in Embedded Gofer.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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.

Similar content being viewed by others

References

  1. Lennart Augustsson, Haskell B user’s manual v0.999.5, Chalmers University, Sweden, October 1993.

    Google Scholar 

  2. Paul Hudak and Joe Fasel, A Gentle Introduction to Haskell, SIGPLAN Notices, 27 (5), May 1992.

    Google Scholar 

  3. Mark P Jones, Computing with lattices: an application of type classes,Journal of Functional Programming, 2(4), pp.475–503, October 1992.

    Google Scholar 

  4. Mark P Jones, A system of constructor classes: overloading and implicit higher-order polymorphism, pp.52–61, Proceedings of 6th Conference on Functional Programming Languages and Computer Architecture, Copenhagen, ACM Press, June 1993.

    Google Scholar 

  5. Kent Karlsson, Nebula, a functional operating system, LPM11, Department of Computer Science, Chalmers University, Gothenburg, Sept 1981.

    Google Scholar 

  6. D B MacQueen, G Plotkin, and R Sethi, An ideal model for recursive polymorphic types, pp.165–174, Proceedings of 11th Symposium on Principles of Programming Languages, ACM Press, January 1984.

    Google Scholar 

  7. Simon Peyton Jones and Phil Wadler, Imperative functional programming, Proceedings of 20th Symposium on Principles of Programming Languages, ACM Press, January 1993.

    Google Scholar 

  8. William Stoye, Message-based functional operating systems,Science of Computer Programming 6, pp.291–311, 1986.

    Google Scholar 

  9. David A Turner, Functional programming and communicating processes,pp.54–74, Proceedings of PARLE ‘87, Springer-Verlag LNCS 259, 1987.

    Google Scholar 

  10. P Wadler and S Blott, How to make ad-hoc polymorphism less ad-hoc, pp.33–52, Proceedings of the workshop on Implementation of Lazy Functional Languages, Programming Methodology Group, Chalmers University, September 1988.

    Google Scholar 

  11. Malcolm Wallace and Colin Runciman, Extending a functional programming system for embedded applications,Software Practice and Experience 25(1), January 1995.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag London

About this paper

Cite this paper

Wallace, M., Runciman, C. (1995). Type-Checked Message-Passing between Functional Processes. In: Hammond, K., Turner, D.N., Sansom, P.M. (eds) Functional Programming, Glasgow 1994. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3573-9_17

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3573-9_17

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19914-4

  • Online ISBN: 978-1-4471-3573-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics