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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Augustsson, L.: A Compiler for Lazy ML. In Proc. ACM Symposium on Lisp and Functional Programming, Austin (1984)218-27
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)
Du Bois, A.R., Rocha Costa, A.C.: Functional Beans. In International Workshop on Functional and Logic Programming (WFLP) 9, Benicassim, Spain (2000)
Flanagan, D: Java in a Nutshell, Third Edition. O’Reilly & Associates (1999)
Hammond, K.: Parallel Functional Programming: An Introduction. In PASCO (1994)
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)
Meehan, G., Joy, M.: Compiling Functional Programs to Java Byte-Code. Technical Report, Dep. Computer Science, University of Warwick (1998)
Meijer, E., Claessen, K.: The Design and Implementation of Mondrian. In Proc. Haskell Workshop (1997)
Peyton Jones, S.L.: Implementation of Functional Programming Languages. Prentice Hall (1987)
Peyton Jones, S.L., Lester, D.: Implementing Functional Languages. A Tutorial. Prentice Hall (1992)
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)
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)
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
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
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
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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