Skip to main content

Parallel Programming in Morpho

  • Conference paper
Applied Parallel and Scientific Computing (PARA 2010)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7133))

Included in the following conference series:

Abstract

Morpho is a multi-paradigm programming language developed at the University of Iceland that supports parallel programming using both fibers (coroutines) and concurrently executing tasks (threads). Communication between both tasks and fibers is through channels. Morpho is open source and an alpha version is available. Morpho can be used to augment Java with massively scalable multitreading, with orders of magnitude more concurrent computations than is possible with regular Java threading. Morpho supports polymorphic modules using a unique method based on substitutions rather than parametrization.

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. Agnarsson, S., Krishnamoorthy, M.S.: Towards a Theory of Packages. SIGPLAN Notices 20, 117–130 (1985), http://doi.acm.org/10.1145/17919.806833

    Article  Google Scholar 

  2. Appel, A.W.: Garbage Collection Can Be Faster Than Stack Allocation. Inf. Process. Lett. 25(4), 275–279 (1987)

    Article  Google Scholar 

  3. Appel, A.W., Shao, Z.: An Empirical and Analytic Study of Stack vs. Heap Cost for Languages with Closures. Journal of Functional Programming 6 (1994)

    Google Scholar 

  4. Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf (2007)

    Google Scholar 

  5. Bell, J.R.: Threaded code. Commun. ACM 16(6), 370–372 (1973)

    Article  Google Scholar 

  6. Dewar, R.B.K.: Indirect threaded code. Commun. ACM 18(6), 330–331 (1975)

    Article  Google Scholar 

  7. Haller, P., Odersky, M.: Actors that Unify Threads and Events. In: Murphy, A.L., Ryan, M. (eds.) COORDINATION 2007. LNCS, vol. 4467, pp. 171–190. Springer, Heidelberg (2007), http://lamp.epfl.ch/~phaller/doc/haller07coord.pdf

    Chapter  Google Scholar 

  8. Peyton-Jones, S.: Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell. In: Engineering Theories of Software Construction, pp. 47–96. Press (2002)

    Google Scholar 

  9. Pike, R.: The Implementation of Newsqueak. Softw., Pract. Exper. 20(7), 649–659 (1990)

    Article  Google Scholar 

  10. Pugh, W., Spacco, J.: MPJava: High-Performance Message Passing in Java using Java.nio. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, pp. 323–339. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  11. Roscoe, A.W., Brookes, S.D., Hoare, C.A.R.: A Theory of Communicating Sequential Processes. Journal of the ACM (3), 560–599 (1984), http://web.comlab.ox.ac.uk/oucl/work/bill.roscoe/publications/4.pdf

  12. Stawarz, C.: Erlang vs. stackless vs. multitask: The ring benchmark showdown (September 2007), http://pseudogreen.org/blog/erlang_vs_stackless_vs_multitask.html (last accessed: December 3, 2010)

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kristján Jónasson

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Agnarsson, S. (2012). Parallel Programming in Morpho. In: Jónasson, K. (eds) Applied Parallel and Scientific Computing. PARA 2010. Lecture Notes in Computer Science, vol 7133. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-28151-8_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-28151-8_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-28150-1

  • Online ISBN: 978-3-642-28151-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics