Skip to main content

Parallel Functional Reactive Programming

  • Conference paper
  • First Online:
Practical Aspects of Declarative Languages (PADL 2000)

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

Included in the following conference series:

Abstract

In this paper, we demonstrate how Functional Reactive Programming (FRP), a framework for the description of interactive systems, can be extended to encompass parallel systems. FRP is based on Haskell, a purely functional programming language, and incorporates the concepts of time variation and reactivity.

Parallel FRP serves as a declarative system model that may be transformed into a parallel implementation using the standard program transformation techniques of functional programming. The semantics of parallel FRP include non-determinism, enhancing opportunities to introduce parallelism. We demonstrate a variety of program transformations based on parallel FRP and show how a FRP model may be transformed into explicitly parallel code. Parallel FRP is implemented using the Linda programming system to handle the underlying parallelism. As an example of parallel FRP, we show how a specification for a web-based online auctioning system can be transformed into a parallel implementation.

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. S. Breitinger, U. Klusik, and R. Loogen. From (sequential) Haskell to (parallel) Eden: An implementation point of view. In Proc. Principles of Declarative Programming (PLILP/ALP’98), pages 318–334, 1998.

    Google Scholar 

  2. S. Ciarpaglini, M. Danelutto, L. Folchi, C. Manconi, and S. Pelagatti. ANA-CLETO: a template-based P3L compiler. In Proc. 7th Parallel Computing Workshop (PCW’97), Canberra, Australia, September 1997.

    Google Scholar 

  3. N. Carriero, D. Gelernter, T. Mattson, and A. Sherman. The Linda alternative to message passing systems. Parallel Computing, 20(4):633–655, 1994.

    Article  MATH  Google Scholar 

  4. M. Danelutto, R. Di Cosmo, X. Leroy, and S. Pelagatti. Parallel functional programming with skeletons: the OcamlP3L experiment. In Proc. 1998 ACM SIGPLAN Workshop on ML, September 1998.

    Google Scholar 

  5. C. Elliott and P. Hudak. Functional reactive animation. In Proc. ACM SIG-PLAN International Conference on Functional Programming, pages 163–173, June 1997.

    Google Scholar 

  6. C. Elliott. An embedded modelling language approach to interactive 3D and multimedia animation. IEEE Transactions on Software Engineering, 25(3):291–308, May/June 1999.

    Article  Google Scholar 

  7. J. Peterson, C. Elliott, and G. Shu Ling. Fran user’s manual. http://research.microsoft.com/~conal/Fran/UsersMan.htm, July 1998.

  8. J. Peterson, P. Hudak, and C. Elliott. Lambda in motion: Controlling robots with Haskell. In Proc. 1st International Conference on Practical Aspects of Declarative Languages (PADL’99), pages 91–105, January 1999.

    Google Scholar 

  9. S. Peyton Jones (ed.). Haskell 98: A non-strict, purely functional language. Technical Report RR-1106, Yale University, February 1999.

    Google Scholar 

  10. S. Peyton Jones, A. Gordon, and S. Finne. Concurrent Haskell. In Proc. 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, January 1996.

    Google Scholar 

  11. J. Reppy. CML: A higher-order concurrent language. In Proc. Conference on Programming Language Design and Implementation, pages 293–305. ACM SIGPLAN, June 1991.

    Google Scholar 

  12. A. Reid, J. Peterson, P. Hudak, and G. Hager. Prototyping real-time vision systems: An experiment in DSL design. In Proc. 21st International Conference on Software Engineering (ICSE’99), May 1999.

    Google Scholar 

  13. [SJ99] M. Sage and C. Johnson. A declarative prototyping environment for the development of multi-user safety-critical systems. In Proc. International System Safety Conference, August 1999.

    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

Peterson, J., Trifonov, V., Serjantov, A. (1999). Parallel Functional Reactive Programming. In: Pontelli, E., Santos Costa, V. (eds) Practical Aspects of Declarative Languages. PADL 2000. Lecture Notes in Computer Science, vol 1753. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46584-7_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-46584-7_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66992-0

  • Online ISBN: 978-3-540-46584-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics