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.
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
Agnarsson, S., Krishnamoorthy, M.S.: Towards a Theory of Packages. SIGPLAN Notices 20, 117–130 (1985), http://doi.acm.org/10.1145/17919.806833
Appel, A.W.: Garbage Collection Can Be Faster Than Stack Allocation. Inf. Process. Lett. 25(4), 275–279 (1987)
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)
Armstrong, J.: Programming Erlang: Software for a Concurrent World. Pragmatic Bookshelf (2007)
Bell, J.R.: Threaded code. Commun. ACM 16(6), 370–372 (1973)
Dewar, R.B.K.: Indirect threaded code. Commun. ACM 18(6), 330–331 (1975)
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
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)
Pike, R.: The Implementation of Newsqueak. Softw., Pract. Exper. 20(7), 649–659 (1990)
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)
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
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)
Author information
Authors and Affiliations
Editor information
Rights 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)