Skip to main content

Distributed Execution of Functional Programs Using the JVM

  • Conference paper
  • First Online:
Computer Aided Systems Theory — EUROCAST 2001 (EUROCAST 2001)

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

Included in the following conference series:

  • 427 Accesses

Abstract

We present in this paper the implementation, in the Java language, of a distributed environment for running functional programs. The idea is to join Java Virtual Machines (JVMs)runni ng on different computers into a single virtual machine for running functional programs. To test this virtual machine we have implemented a small Haskell like functional language in which parallelism is expressed by some simple combinators.

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.

References

  1. Augustsson, L.: A Compiler for Lazy ML. In Proc. ACM Symposium on Lisp and Functional Programming, Austin (1984)218-27

    Google Scholar 

  2. Choi, K., Lim, H., Han, T. Compiling Lazy Functional Programs Based on the Spineless Tagless G-machine for the Java Virtual Machine. In Fifth International Symposium on Functional and Logic Programming FLOPS, Waseda University, Tokyo, Japan March (2001)

    Google Scholar 

  3. Du Bois, A.R., Rocha Costa, A.C.: Functional Beans. In International Workshop on Functional and Logic Programming (WFLP) 9, Benicassim, Spain (2000)

    Google Scholar 

  4. Flanagan, D: Java in a Nutshell, Third Edition. O’Reilly & Associates (1999)

    Google Scholar 

  5. Hammond, K.: Parallel Functional Programming: An Introduction. In PASCO (1994)

    Google Scholar 

  6. Hanus, M., Sadre, R.: An Abstract Machine for Curry and its Concurrent Implementation in Java. In J. Functional and Logic Programming 6, MIT Press (1999)

    Google Scholar 

  7. Meehan, G., Joy, M.: Compiling Functional Programs to Java Byte-Code. Technical Report, Dep. Computer Science, University of Warwick (1998)

    Google Scholar 

  8. Meijer, E., Claessen, K.: The Design and Implementation of Mondrian. In Proc. Haskell Workshop (1997)

    Google Scholar 

  9. Peyton Jones, S.L.: Implementation of Functional Programming Languages. Prentice Hall (1987)

    Google Scholar 

  10. Peyton Jones, S.L., Lester, D.: Implementing Functional Languages. A Tutorial. Prentice Hall (1992)

    Google Scholar 

  11. Peyton Jones, S.L, Meijer, E., Leijen, D.: Scripting COM Components in Haskell. In Proc. 5th International Conference on Software Reuse, Victoria, British Columbia, June (1998)

    Google Scholar 

  12. Trinder, P.W., Hammond, K., Loidl, H.-W., Peyton Jones, S.L.: Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8(1):23–60, January (1998)

    Article  MATH  MathSciNet  Google Scholar 

  13. Trinder, P.W., Hammond, K., Mattson Jr., J.S., Partridge, A.S., Peyton Jones, S.L.: GUM: a Portable Parallel Implementation of Haskell. In Proc. 1996 ACM Conference on Programming Languages Design and Implementation (PLDI’ 96), Philadelphia May (1996)78–88

    Google Scholar 

  14. Wakeling, D.: A Haskell to Java Virtual Machine Code Compiler, — In C. Clack, A.J.T. Davie and K. Hammond, editors, Proc. 9th. International Workshop on the Implementation of Functional Languages (IFL’ 97), St Andrews, Scotland, September 1997, volume 1467 of LNCS, Springer-Verlag (1998)39–52

    Chapter  Google Scholar 

  15. Wakeling, D.: Mobile Haskell: Compiling Lazy Functional Programs for the Java Virtual Machine. In Proc. Principles of Declarative Programming (PLIP’ 98), Pisa, Italy, Springer-Verlag, September (1998)335–352

    Chapter  Google Scholar 

  16. Wakeling, D.: Compiling Lazy Functional Programs for the Java Virtual Machine. Journal of Functional Programming 1(1):1–000, Cambridge University Press, United Kingdom, January (1998)

    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

Du Bois, A.R., da Rocha Costa, A.C. (2001). Distributed Execution of Functional Programs Using the JVM. In: Moreno-Díaz, R., Buchberger, B., Luis Freire, J. (eds) Computer Aided Systems Theory — EUROCAST 2001. EUROCAST 2001. Lecture Notes in Computer Science, vol 2178. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45654-6_44

Download citation

  • DOI: https://doi.org/10.1007/3-540-45654-6_44

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42959-3

  • Online ISBN: 978-3-540-45654-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics