\begin{thebibliography}{10}

\bibitem{WeakOrdering}
S.~V. Adve and M.~D. Hill.
\newblock {Weak Ordering - A New Definition}.
\newblock In {\em Seventeeth Annual International Symposium on Computer
  Architecture}, pages 2--14. ACM, 1990.

\bibitem{Actors}
G.~A. Agha.
\newblock {\em ACTORS: A Model of Concurrent Computation in Distributed
  Systems}.
\newblock The MIT Press, Cambridge, MA, 1986.

\bibitem{unionfind}
A.~V. Aho, J.~E. Hopcroft, and J.~D. Ullman.
\newblock {\em {Tree Structures for the UNION-FIND Problem}}, pages 139--145.
\newblock Addison Wesley Publishing Company, Reading, Massachusetts, 1974.

\bibitem{Alewife}
{Anant Agarwal {\em et. al.}}
\newblock {\em {The MIT Alewife Machine: A Large-Scale Distributed-Memory
  Multiprocessor}}.
\newblock Kluwer Academic Publishers, 1991.
\newblock {\em forthcoming}.

\bibitem{ConcurrentProgramming}
G.~R. Andrews and F.~B. Schneider.
\newblock {Concepts and Notations for Concurrent Programming}.
\newblock {\em Computing Surveys}, 15(1):4--43, March 1983.

\bibitem{ZenaPTAC}
Z.~M. Ariola and Arvind.
\newblock {P-TAC: A Parallel Intermediate Language}.
\newblock In {\em Proceedings of the Fourth Conference on Functional
  Programming Languages and Computer Architecture, London}, pages 230--242,
  September 1989.

\bibitem{KidSemantics}
Z.~M. Ariola and Arvind.
\newblock {A Syntactic Approach to Program Transformations}.
\newblock Technical Report CSG Memo 322, M.I.T. Laboratory for Computer
  Science, 545 Technology Square, Cambridge, MA, April 1991.

\bibitem{CompilingId}
Z.~M. Ariola and Arvind.
\newblock {Compilation of Id}.
\newblock Technical Report CSG Memo 341, M.I.T. Laboratory for Computer
  Science, 545 Technology Square, Cambridge, MA, September 1991.

\bibitem{ArvindBrock}
Arvind and J.~D. Brock.
\newblock {Resource Managers in Functional Programming}.
\newblock {\em Journal of Parallel and Distributed Computing}, 1(1), June 1984.

\bibitem{fsp}
Arvind and K.~Ekanadham.
\newblock {Future Scientific Programming on Parallel Machines}.
\newblock Computation Structures Group Memo 272, M.I.T. Laboratory for Computer
  Science, 1987.

\bibitem{Arvind77a}
Arvind, K.~P. Gostelow, and W.~Plouffe.
\newblock {Indeterminacy, Monitors and Dataflow}.
\newblock {\em Operating Systems Review (Proceedings of the Sixth ACM Symposium
  on Operating Systems Principles)}, 11(5), November 1977.

\bibitem{paraffins}
Arvind, S.~K. Heller, and R.~S. Nikhil.
\newblock {Programming Generality and Parallel Computers}.
\newblock {\em Fourth International Symposium on Biological and Artificial
  Intelligence Systems}, Sept. 1988.

\bibitem{twofundamentalissues}
Arvind and R.~A. Iannucci.
\newblock {Two Fundamental Issues in Multiprocessing}.
\newblock In {\em Proceedings of DFVLR - Conference 1987 on Parallel Processing
  in Science and Engineering, Bonn-Bad Godesberg, W. Germany}, June 25-29 1987.

\bibitem{IStructures}
Arvind and R.~E. Thomas.
\newblock {I-structures: An Efficient Data Type for Parallel Machines}.
\newblock Technical Report TM 178, Computation Structures Group, MIT Lab. for
  Computer Science, Cambridge, MA 02139, September 1980.

\bibitem{StreamMachine}
P.~S. Barth, S.~Guthery, and D.~Barstow.
\newblock {The Stream Machine: A Dataflow Architecture for Real-Time
  Applications}.
\newblock In {\em Proceedings of the 8th International Conference on Software
  Engineering}, pages 103--110, Washington, D.C., September 1985. IEEE.

\bibitem{MStructures}
P.~S. Barth, R.~S. Nikhil, and Arvind.
\newblock {M-structures: Extending a Parallel, Non-strict Functional Language
  with State}.
\newblock In {\em Proceedings of the Fifth ACM Conference on Functional
  Programming Languages and Computer Architecture, Springer-Verlag Lecture
  Notes In Computer Science, Volume 523}, pages 538--568, August 1991.

\bibitem{Topaz}
A.~D. Birrell.
\newblock {An Introduction to Programming with Threads}.
\newblock Technical Report~35, Digital Systems Research Center, Cambridge, MA
  02139, January 1989.

\bibitem{BlossAggregates}
A.~Bloss.
\newblock Update analysis and the efficient implementation of functional
  aggregates.
\newblock In {\em Proceedings of 4th Int'l Conference on Functional Programming
  Languages and Computer Architecture}, pages 26--38. ACM, IFIP, 1989.

\bibitem{BrinchHansen}
P.~{Brinch Hansen}.
\newblock {\em Operating Systems Principles}.
\newblock Prentice-Hall, Englewood Cliffs, NJ, 1973.

\bibitem{burton}
F.~W. Burton.
\newblock {Nondeterminism with Referential Transparency in Functional
  Programming Languages}.
\newblock {\em The Computer Journal}, 31(3):127--134, June 1988.

\bibitem{VKernel}
D.~R. Cheriton.
\newblock {The V Kernel: A Software Base for Distributed Systems}.
\newblock {\em IEEE Software}, 1(2):19--42, April 1984.

\bibitem{Chien}
A.~A. Chien.
\newblock {Concurrent Aggregates (CA): An Object-Oriented Language for
  Fine-Grained Message-Passing Machines}.
\newblock Technical Report TR-1248, M.I.T Artificial Intelligence Laboragory,
  545 Technology Square, Cambridge, MA, July 1990.
\newblock (Ph.D. Thesis, Dept. of EECS, MIT).

\bibitem{CLUMonitors}
R.~C.~B. Cooper and K.~G. Hamilton.
\newblock {Preserving Abstraction in Concurrent Programming}.
\newblock {\em IEEE Transactions on Software Engineering}, 14(2):258--263,
  February 1988.

\bibitem{CullerThesis}
D.~E. Culler.
\newblock {\em Managing Parallelism and Resources in Scientific Dataflow
  Programs}.
\newblock PhD thesis, Massachusetts Institute of Technology, M.I.T. Laboratory
  for Computer Science, 545 Technology Square, Cambridge, MA, June 1989.

\bibitem{parallelunionfind}
G.~Cybenko, T.~G. Allen, and J.~E. Polito.
\newblock {Practical Parallel Union-Find Algorithms for Transitive Closure and
  Clustering}.
\newblock {\em International Journal of Parallel Programming}, 17(5):403--423,
  1988.

\bibitem{Cytron}
R.~Cytron.
\newblock {Doacross: Beyond Vectorization for Multiprocessors}.
\newblock In {\em Proceedings of the 1986 Conference on Parallel Processing},
  pages 836--844. IEEE Press, 1986.

\bibitem{CST}
W.~Dally and A.~Chien.
\newblock {Object Oriented Concurrent Programming in CST}.
\newblock In {\em Proceedings of the Third Conference on Hypercube Computers},
  pages 434--9. SIAM, 1988.

\bibitem{Semaphores}
E.~W. Dijkstra.
\newblock {Hierarchical Ordering of Sequential Processes}.
\newblock {\em Acta Informatica}, 1:115--138, 1971.

\bibitem{TSPBook}
{E. L. Lawler and {\em et. al., eds.}}
\newblock {\em The Traveling Salesman Problem}.
\newblock John Wiley, New York, New York, 1985.

\bibitem{GraphLocking}
M.~H. Eich.
\newblock {Graph Directed Locking}.
\newblock {\em IEEE Transactions on Software Engineering}, 14(2):133--140,
  February 1988.

\bibitem{simple}
K.~Ekanadham and Arvind.
\newblock {{SIMPLE}: Part {I} an Exercise in Future Scientific Programming}.
\newblock Computation Structures Group Memo 273, Computation Structures Group,
  M.I.T. Laboratory for Computer Science, 545 Technology Square, Cambridge, MA,
  July 1987.
\newblock Simultaneously published as {IBM}/T.J. Watson Research Center Report
  12686.

\bibitem{TwoPhaseLocking}
K.~P. Eswaran, J.~N. Gray, R.~A. Lorie, and I.~L. Traiger.
\newblock {The Notions of Consistency and Predicate Locks in a Database
  System}.
\newblock {\em Communications of the ACM}, 19(11):624--633, November 1976.

\bibitem{GareyJohnson}
M.~R. Garey and D.~S. Johnson.
\newblock {\em Computers and Intractability: A Guide to the Theory of
  NP-Completeness}.
\newblock W.H. Freeman and Company, New York, New York, 1979.

\bibitem{ShailThesis}
S.~A. Gupta.
\newblock {An Incremental Type Inference System for the Programming Language
  Id}.
\newblock Technical Report TR-388, M.I.T. Laboratory for Computer Science, 545
  Technology Square, Cambridge, MA, November 1990.
\newblock SM Thesis, Dept. of EECS, MIT.

\bibitem{Manchester}
J.~R. Gurd, C.~C. Kirkham, and I.~Watson.
\newblock {The Manchester Prototype Dataflow Computer}.
\newblock {\em Communications of the ACM}, 28(1):34--52, January 1985.

\bibitem{Multilisp}
R.~Halstead.
\newblock {Multilisp: A Language for Concurrent Symbolic Computation}.
\newblock {\em Transactions on Programming Languages and Systems}, October
  1986.

\bibitem{ML}
R.~W. Harper, R.~Milner, and M.~Tofte.
\newblock {The Definition of Standard ML; Version 2}.
\newblock Technical Report ECS-LFCS-88-62, Laboratory for Foundations of
  Computer Science, Department of Computer Science, University of Edinburgh,
  The King's Buildings, Edinburgh EH9 3JZ, Scotland, August 1988.
\newblock Available from D.B.MacQueen, AT\&T Bell Labs, Murray Hill, NJ.

\bibitem{interleave}
P.~Henderson.
\newblock {Purely Functional Operating Systems}.
\newblock In J.~Darlington and P.~Henderson, editors, {\em Functional
  Programming and its Applications: An Advanced Course}, pages 95--128.
  Cambridge University Press, New York, 1982.

\bibitem{Hennessy}
M.~Hennessy.
\newblock {\em Algebraic Theory of Processes}.
\newblock The MIT Press, Cambridge, Massachusetts, 1988.

\bibitem{HicksThesis}
J.~E. Hicks.
\newblock {\em {Compiler Directed Storage Reclamation using Object Lifetime
  Analysis}}.
\newblock PhD thesis, {Laboratory for Computer Science, Massachusetts Institute
  of Technology, Cambridge, MA 02139}, Jan. 1992.

\bibitem{HoareMonitors}
C.~A.~R. Hoare.
\newblock {Monitors: An Operating System Structuring Concept}.
\newblock {\em Communications of the ACM}, 10(10):549--557, October 1974.

\bibitem{AbstractRC}
P.~Hudak.
\newblock {A Semantic Model of Reference Counting and Its Abstraction}.
\newblock In S.~Abramsky and C.~Hankin, editors, {\em {Abstract Interpretation
  of Declarative Languages}}, Computers and Their Applications, chapter~3,
  pages 45--62. Ellis Horwood Limited, Chichester, West Sussex, England, 1987.

\bibitem{HudakAggregates}
P.~Hudak and A.~Bloss.
\newblock The aggregate update problem in functional programming systems.
\newblock In {\em 12th ACM Symposium on Principles of Programming Languages},
  pages 300--314. ACM, January 1985.

\bibitem{HudakExpress}
P.~Hudak and R.~S. Sundaresh.
\newblock {On the Expressiveness of Purely Functional I/O Systems}.
\newblock Research Report YALEU/DCS/RR-665, Yale University Department of
  Computer Science, 1988.

\bibitem{Haskell}
P.~Hudak and P.~Wadler~(editors).
\newblock {Report on the Programming Language {H}askell, A Non-strict Purely
  Functional Language ({V}ersion 1.0)}.
\newblock Technical Report YALEU/DCS/RR777, Yale University, Department of
  Computer Science, Apr. 1990.

\bibitem{ArunThesis}
A.~Iyengar.
\newblock {\em Personal communication}.

\bibitem{KellerManagers}
B.~Jayaraman and R.~Keller.
\newblock {Primitives for Resource Management in a Demand-Driven Reduction
  Model}.
\newblock {\em International Journal of Parallel Programming}, 15(3):215--244,
  1987.

\bibitem{LamportSerializable}
L.~Lamport.
\newblock {How to Make a Multiprocessor Computer that Correctly Executes
  Multiprocessor Programs}.
\newblock {\em IEEE Transactions on Computers}, C-28(9):690--691, September
  1979.

\bibitem{MesaMonitors}
B.~W. Lampson and D.~D. Redell.
\newblock {Experience with Processes and Monitors in Mesa}.
\newblock {\em Communications of the ACM}, 23(2):105--117, February 1980.

\bibitem{BengLim}
B.-H. Lim and A.~Agarwal.
\newblock {Waiting Algorithms for Synchronization in Large-Scale
  Multiprocessors}.
\newblock Technical report, {MIT VLSI Memo 91-632}, February 1991.

\bibitem{Argus}
B.~Liskov.
\newblock {Distributed Programming in ARGUS}.
\newblock {\em Communications of the ACM}, 31(3):300--312, March 1988.

\bibitem{NestedMonitors}
A.~M. Lister.
\newblock {The Problem of Nested Monitor Calls}.
\newblock {\em Operating Systems Review}, 11(3):5--7, July 1977.

\bibitem{IOA}
N.~A. Lynch and M.~R. Tuttle.
\newblock {An Introduction to Input/Output Automata}.
\newblock Technical Report TM-373, M.I.T. Laboratory for Computer Science, 545
  Technology Square, Cambridge, MA, November 1988.

\bibitem{Sisal}
{McGraw et al}.
\newblock {{SISAL}: Streams and Iteration in a Single-Assignment Language}.
\newblock Report M-146, Rev. 1, University of California, Lawrence Livermore
  National Laboratory, Livermore, California, Mar. 1985.

\bibitem{Estructures}
J.~Milewski.
\newblock {Functional Data Structures as Updatable Objects}.
\newblock {\em IEEE Transactions on Software Engineering}, 16(12):1427--1432,
  December 1990.

\bibitem{CCS}
R.~Milner.
\newblock {Calculi for Synchrony and Asynchrony}.
\newblock {\em Theoretical Computer Science}, 25:267--310, 1983.

\bibitem{IdRef}
R.~S. Nikhil.
\newblock {Id (Version 90.0) Reference Manual}.
\newblock Technical Report CSG Memo 284-1, MIT Laboratory for Computer Science,
  545 Technology Square, Cambridge, MA 02139, USA, July 1990.

\bibitem{IdBook}
R.~S. Nikhil and Arvind.
\newblock {\em {Programming in {\it Id\/}: a parallel programming language}}.
\newblock 1990.
\newblock Textbook on implicit parallel programming. In preparation.

\bibitem{IdWorld}
R.~S. Nikhil, P.~R. Fenstermacher, J.~E. Hicks, and R.~P. Johnson.
\newblock {\em Id World Reference Manual}.
\newblock Computation Structures Group Memo, M.I.T. Laboratory for Computer
  Science, 545 Technology Square, Cambridge, MA, Nov. 1989.

\bibitem{Padua}
D.~A. Padua and M.~J. Wolfe.
\newblock {Advanced Compiler Optimizations for Supercomputers}.
\newblock {\em Communications of the ACM}, 29(12):1184--1201, December 1986.

\bibitem{Serializability}
C.~H. Papadimitriou.
\newblock {The Serializability of Concurrent Database Updates}.
\newblock {\em Journal of the Association of Computing Machinery},
  26(4):631--653, October 1979.

\bibitem{Monsoon}
G.~M. Papadopoulos.
\newblock {Implementation of a General Purpose Dataflow Multiprocessor}.
\newblock Technical Report TR432, M.I.T. Laboratory for Computer Science, 545
  Technology Square, Cambridge, MA, Sept. 1988.
\newblock (PhD Thesis, Dept. of EECS, MIT).

\bibitem{MutexBook}
M.~Raynal.
\newblock {\em Algorithms for Mutual Exclusion}.
\newblock MIT Press, Cambridge, Massachusetts, 1986.

\bibitem{Rees86}
J.~Rees and W.~{Clinger (eds.)}.
\newblock {Revised\/$^3$ Report on the Algorithmic Language Scheme}.
\newblock Technical report, Massachusetts Institute of Technology Artificial
  Intelligence Laboratory, Cambridge, MA, 1986.

\bibitem{IdinId}
{Shail Aditya {\em et. al.}}
\newblock {Compiling Id in Id}.
\newblock Technical report, MIT Laboratory for Computer Science, 545 Technology
  Square, Cambridge, MA 02139.
\newblock Forthcoming.

\bibitem{TreeLocking}
A.~Silberschatz and Z.~Kedem.
\newblock {Consistency in Hierarchical Database Systems}.
\newblock {\em Journal of the ACM}, 27(1):72--80, January 1980.

\bibitem{SoleyThesis}
R.~M. Soley.
\newblock {\em On the Efficient Exploitation of Speculation Under Dataflow
  Paradigms of Control}.
\newblock PhD thesis, Massachusetts Institute of Technology, M.I.T. Laboratory
  for Computer Science, 545 Technology Square, Cambridge, MA, May 1989.

\bibitem{SteeleThesis}
K.~M. Steele.
\newblock {Implementation of an I-Structure Memory Controller}.
\newblock Technical Report TR-471, M.I.T. Laboratory for Computer Science, 545
  Technology Square, Cambridge, MA, May 1990.
\newblock (MS Thesis, Dept. of EECS, MIT).

\bibitem{Stoye86}
W.~Stoye.
\newblock {Message-Based Functional Operating Systems}.
\newblock {\em Science of Computer Programming}, 6:291--311, 1986.

\bibitem{Traub}
K.~R. Traub.
\newblock {A Compiler for the MIT Tagged-Token Dataflow Architecture}.
\newblock Master's thesis, Massachusetts Institute of Technology, 1986.

\bibitem{TurnerOS}
D.~Turner.
\newblock {Functional Programming and Communicating Processes}.
\newblock In {\em PARLE: Parallel Architectures and Languages Europe},
  volume~2, pages 57--74, New York, June 1987. Springer-Verlag.

\bibitem{AtomicTypes}
W.~Weihl and B.~Liskov.
\newblock {Implementation of Resilient, Atomic Data Types}.
\newblock {\em IEEE Transactions on Programming Languages and Systems},
  7(2):244--269, April 1985.

\bibitem{TwoPhaseOperations}
J.~Young.
\newblock {Two-Phase Transactions}.
\newblock Technical Report CSG Memo 318, MIT Laboratory for Computer Science,
  545 Technology Square, Cambridge, MA 02139, September 1990.

\end{thebibliography}
