Skip to main content

Concurrent ML

  • Reference work entry
Encyclopedia of Parallel Computing
  • 204 Accesses

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 1,600.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,799.99
Price excludes VAT (USA)
  • Durable hardcover 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

Bibliography

  1. Appel AW, MacQueen DB (1991) Standard ML of New Jersey. In: Programming language implementation and logic programming. Lecture notes in computer science, vol 528. Springer, New York, pp 1–26

    Google Scholar 

  2. Appel AW (1992) Compiling with continuations. Cambridge University Press, Cambridge

    Google Scholar 

  3. Berry D, Milner R, Turner DN (1992) A semantics for ML concurrency primitives. In: Conference record of the 19th annual ACM symposium on principles of programming languages (POPL ’92), Albuquerque, Jan 1992, pp 119–129

    Google Scholar 

  4. Birman KP, Joseph TA (1987) Reliable communication in the presence of failures. ACM T Comput Syst 5(1):47–76

    Article  Google Scholar 

  5. Cardelli L, Pike R (1985) Squeak: a language for communicating with mice. In: SIGGRAPH’85, San Francisco, July 1985, pp 199–204

    Google Scholar 

  6. Cardelli L (1986) Amber. In: Combinators and functional programming languages. Lecture notes in computer science, vol 242. Springer, New York, pp 21–47, July 1986

    Google Scholar 

  7. Carriero N, Gelernter D (1989) Linda in context. Commun ACM 32(4):444–458

    Article  Google Scholar 

  8. Chaudhuri A (2009) A Concurrent ML library in Concurrent Haskell. In: Proceedings of the 14th ACM SIGPLAN international conference on functional programming, Aug–Sept 2009. ACM, New York, pp 269–280

    Google Scholar 

  9. Cooper R, Krumvieda C (1994) Distributed programming with asynchronous ordered channels in Distributed ML. In: Birman KP, Renesse RV (eds) Reliable distributed computing with the Isis toolkit, pp 359–369. IEEE Computer Society Press, Los Alamitos

    Google Scholar 

  10. Debbabi M, Faour A, Tawbi N (1996) Efficient type-based control-flow analysis of higher order concurrent programs. In: Proceedings of the international workshop on functional and logic programming, IFL’96, Sept 1996. Lecture notes in computer science, vol 1268. Springer, New York, pp 247–266

    Google Scholar 

  11. Demaine ED (1997) Higher-order concurrency in java. In: Proceedings of the parallel programming and java conference (WoTUG20), Enschede, Apr 1997, pp 34–47. Available from http://theory.csail.mit.edu/~edemaine/papers/WoTUG20/

  12. United States Department of Defense, American National Standards Institute (1983) Reference manual for the Ada programming language. Springer, New York

    Google Scholar 

  13. Donnelly K, Fluet M (2008) Transactional events. J Funct Program 18(5–6):649–706

    Article  MATH  Google Scholar 

  14. Effinger-Dean L, Kehrt M, Grossman D (2008) Transactional events for ML. In: Proceedings of the 13th ACM SIGPLAN international conference on functional programming, Sept 2008. ACM, New York, pp 103–114

    Google Scholar 

  15. Flatt M, Findler RB (2004) Kill-safe synchronization abstractions. In: Proceedings of the SIGPLAN conference on programming language design and implementation (PLDI’04), June 2004. ACM, New York, pp 47–58

    Google Scholar 

  16. Fluet M, Rainey M, Reppy J, Shaw A, Xiao Y (2007) Manticore: a heterogeneous parallel language. In: Proceedings of the ACM SIGPLAN workshop on declarative aspects of multicore programming, Jan 2007. ACM, New York, pp 37–44

    Google Scholar 

  17. Fournet C, Gonthier G (1996) The reflexive CHAM and the join-calculus. In: Conference record of the 23rd annual ACM symposium on principles of programming languages (POPL’96), Jan 1996. ACM, New York, pp 372–385

    Google Scholar 

  18. Gansner ER, Reppy JH (1993) A multi-threaded higher-order user interface toolkit. Software trends, vol 1. Wiley, New York, pp 61–80

    Google Scholar 

  19. Halstead Jr RH (1985) Multilisp: a language for concurrent symbolic computation. ACM T Program Lang Syst 7(4):501–538

    Article  MATH  Google Scholar 

  20. Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677

    Article  MATH  MathSciNet  Google Scholar 

  21. Jagannathan S, Weeks S (1994) Analyzing stores and references in a parallel symbolic language. In: Conference record of the 1994 ACM conference on lisp and functional programming, June 1994. ACM, New York, pp 294–305

    Google Scholar 

  22. Kelsey R, Rees J, Sperber M (2008) The incomplete scheme 48 reference manual. Available from www.s48.org

  23. Krumvieda CD (1993) Distributed ML: abstractions for efficient and fault-tolerant programming. Ph.D. thesis, Department of Computer Science, Cornell University, Ithaca, Aug 1993. Available as Technical Report TR 93-1376

    Google Scholar 

  24. Leroy X (2000) The objective Caml system (release 3.00), Apr 2000. Available from http://caml.inria.fr

  25. Liskov B, Shrira L (1988) Promises: linguistic support for efficient asynchronous procedure calls in distributed systems. In: Proceedings of the SIGPLAN’88 conference on programming language design and implementation, Atlanta, June 1988, pp 260–267

    Google Scholar 

  26. MLton: Concurrent ML. http://mlton.org/ConcurrentML

  27. Nielson HR, Nielson F (1994) Higher-order concurrent programs with finite communication topology. In: Conference record of the 21st annual ACM symposium on principles of programming languages (POPL ’94), Portland, Jan 1994, pp 84–97

    Google Scholar 

  28. Panangaden P, Reppy JH (1997) The essence of concurrent ML. In: Nielson F (ed) ML with concurrency. Springer, New York (Chap 1)

    Google Scholar 

  29. Peyton Jones S, Gordon A, Finne S (1996) Concurrent haskell. In: Conference record of the 23rd annual ACM symposium on principles of programming languages (POPL’96), Jan 1996. ACM, New York, pp 295–308

    Google Scholar 

  30. Pike R (1989) A concurrent window system. Comput Syst 2(2):133–153

    Google Scholar 

  31. Reppy J, Russo C, Xiao Y (2009) Parallel concurrent ML. In: Proceedings of the 14th ACM SIGPLAN international conference on functional programming, Aug–Sept 2009. ACM, New York, pp 257–268

    Google Scholar 

  32. Reppy J, Xiao Y (2007) Specialization of CML message-passing primitives. In: Conference record of the 34th annual ACM symposium on principles of programming languages (POPL ’07), Jan 2007. ACM, New York, pp 315–326

    Chapter  Google Scholar 

  33. Reppy J, Xiao Y (2008) Toward a parallel implementation of concurrent ML. In: Proceedings of the ACM SIGPLAN workshop on declarative aspects of multicore programming, Jan 2008. ACM, New York

    Google Scholar 

  34. Reppy JH (1988) Synchronous operations as first-class values. In: Proceedings of the SIGPLAN’88 conference on programming language design and implementation, Atlanta, June 1988, pp 250–259

    Google Scholar 

  35. Reppy JH (1991) CML: a higher-order concurrent language. In: Proceedings of the SIGPLAN’91 conference on programming language design and implementation, June 1991. ACM, New York, pp 293–305

    Chapter  Google Scholar 

  36. Reppy JH (1991) An operational semantics of first-class synchronous operations. Technical Report TR 91-1232, Department of Computer Science, Cornell University, Ithaca, Aug 1991

    Google Scholar 

  37. Reppy JH (1999) Concurrent programming in ML. Cambridge University Press, Cambridge

    Google Scholar 

  38. Reppy JH, Gansner ER (1986) A foundation for programming environments. In: Proceedings of the ACM SIGSOFT/SIGPLAN software engineering symposium on practical software development environments, Palo Alto, pp 218–227, Dec 1986

    Google Scholar 

  39. Russell G (2001) Events in Haskell, and how to implement them. In: Proceedings of the sixth ACM SIGPLAN international conference on functional programming, Florence, Sept 2001, pp 157–168

    Google Scholar 

  40. Young C, Lakshman YN, Szymanski T, Reppy J, Pike R, Narlikar G, Mullender S, Grosse E (2001) Protium, an infrastructure for partitioned applications. In: Proceedings of the eighth IEEE workshop on hot topics in operating systems (HotOS), Elmau, Jan 2001, pp 41–46

    Google Scholar 

  41. Ziarek L, Schatz P, Jagannathan S (2006) Stabilizers: a modular checkpointing abstraction for concurrent functional programs. In: Proceedings of the eleventh ACM SIGPLAN international conference on functional programming, Sept 2006. ACM, New York, pp 136–147

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer Science+Business Media, LLC

About this entry

Cite this entry

Reppy, J. (2011). Concurrent ML. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_47

Download citation

Publish with us

Policies and ethics