====== Language Resources ====== ~~NOTOC~~ ===== Unified Parallel C (UPC) ===== * Berkeley UPC: http://upc.lbl.gov/ * GWU UPC http://upc.gwu.edu/ * Tarek El-Ghazawi, William Carlson, Thomas Sterling, and Katherine Yelick. //UPC: Distributed Shared Memory Programming//. John Wiley & Sons, Inc. (c) 2005. ===== Communicating Sequential Processes (CSP) ===== * The classic CSP text: [[http://www.usingcsp.com/|Communicating Sequential Processes (Hoare)]] * The modern CSP text: The Theory and Practice of Concurrency (Roscoe) ([[http://web.comlab.ox.ac.uk/oucl/work/bill.roscoe/publications/68b.pdf|PDF]]) * occam * Professor Peter Welch's [[courses:cs377-201301:welch-lectures:top|occam tutorial slides]] and * [[http://www.cs.vassar.edu/~cs377/phw-slides/anonqa-2005/index.html|FAQs]] from his course at the University of Kent * [[http://www.occam-pi.org/|occam-pi]]: (The occam-pi programming language and [[https://www.cs.kent.ac.uk/research/groups/plas/wiki/OccamPiReference/|reference]]) * JCSP: http://www.cs.kent.ac.uk/projects/ofa/jcsp/ (CSP package for Java) * Ian East. //Parallel Processing with Communicating Process Architecture//. University College London Press, (c) 1995. (This text is out of print, but the author has provided the text in PDF chapters for use in our course.) ===== Linda ===== * http://www.lindaspaces.com/about/index.html (C-Linda programming language) * Scientific Computing Associates, Inc. //Linda User's Guide & Reference Manual//. Available on SCAI's website for downloading and viewing at http://www.lindaspaces.com/downloads/lindamanual.pdf. * Nicholas Carriero and David Gelernter. //How to Write Parallel Programs: A First Course//. MIT Press, (c) 1990. (This text is out of print, but available on SCAI's website for downloading and viewing at http://www.lindaspaces.com/book/index.html.) ===== Rinda ===== * Linda implementation for the [[http://www.ruby-lang.org/en/|Ruby programming language]] * About [[http://en.wikipedia.org/wiki/Rinda_(Ruby_programming_language)|Rinda]] ---- ===== Erlang ===== * Office website for the [[http://www.erlang.org/|Erlang]] programming language * [[http://www.erlang.org/starting.html|Tutorial guides]] * [[http://www.erlang.org/doc.html|Online documentation]] ===== Loop ===== * [[http://looplang.org/|Loop language homepage]] ===== Chapel ===== * [[http://chapel.cray.com/|The Chapel Parallel Programming Language]] ===== Go ===== * [[http://golang.org/|The Go Programming Language]] ===== Scala ===== * [[http://www.scala-lang.org/|The Scala Programming Language]] ===== Clojure ===== * [[http://clojure.org/|The Clojure Programming Language]] ---- //Other references will be listed here as necessary.//