Abstract
The sole effect of expression evaluation in a functional programming language is the production of a resultant value. This absence of side-effects greatly facilitates both the formal characterization and the concurrent execution of functional programs. Unfortunately, the absence of side-effects also conflicts with conventional means of achieving input/output, inter-process communication, and resource allocation. By incorporating the history of communication into a stream, functional programs can be written for I/O and communication. Using the stream concept, managers may be written to control access to resources shared by several processes.
This research was supported by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contract N00014-75-C-0661 and by the Department of Energy under contract DE-AC02-79ER10473.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
6. References
Ackerman, W. B., "Data Flow Languages", Computer 15, 2(February 1982), 15–25.
Arvind, K. P. Gostelow, and W. Plouffe, "Indeterminacy, Monitors and Dataflow", Proceedings of the Sixth ACM Symposium on Operating Systems Principles, Operating Systems Review 11, 5(November 1977), 159–169.
Arvind, K. P. Gostelow, and W. Plouffe, An Asynchronous Programming Language and Computing Machine, Department of Information and Computer Science (TR 114a), University of California — Irvine, Irvine, California, September 1978.
Ashcroft, E. A., and W. W. Wadge, "Lucid, a Nonprocedural Language with Iteration", Communications of the ACM 20, 7(July 1977), 519–526.
Brock, J. D., and W. B. Ackerman, "Scenarios: A Model of Non-determinate Computation", International Colloquium on Formalization of Programming Concepts, Lecture Notes in Computer Science 107, April 1981, 252–259.
Burge, W. H., Recursive Programming Techniques, Addison-Wesley Publishing Co., Reading, Massachusetts, 1975.
Catto, A. J., and J. R. Gurd, "Resource Management in Dataflow", Proceedings of the 1981 Conference on Functional Programming Languages and Computer Architecture, October 1981, 77–84.
Dennis, J. B., "A Language Design for Structured Concurrency", Design and Implementation of Programming Languages: Proceedings of a DoD Sponsored Workshop, Lecture Notes in Computer Science 54, October 1976, 231–242.
Friedman, D.P., and D.S. Wise, "CONS Should Not Evaluate its Arguments", Automata, Languages, and Programming: Third International Colloquim (S. Michaelson and R. Milner, Eds.), July 1976, 257–284.
Henderson, P., Functional Programming: Application and Implementation, Prentice/Hall International, Englewood Cliffs, New Jersey, 1980.
Hoare, C. A. R., "Monitors: An Operating System Structuring Concept", Communications of the ACM 17, 10(October 1975), 549–557.
Jayaraman, B., and R. M. Keller, "Resource Control in a Demand-driven Data-flow Model", Proceedings of the 1980 International Conference on Parallel Processing, August 1980, 118–127.
Kahn, G., "The Semantics of a Simple Language for Parallel Programming", Information Processing 74: Proceedings of IFIP Congress 74, August 1974, 471–475.
Keller, R. M., G. Lindstrom, and S. S. Patil, "A Loosely-Coupled Applicative Multi-processing System", Proceedings of the 1979 National Computer Conference, AFIPS Conference Proceedings 48, June 1979, 613–622.
Kosinski, P. R., "A Straightforward Denotational Semantics for Non-Determinate Data Flow Programs", Conference Record of the Fifth ACM Symposium on Principles of Programming Languages, January 1978, 214–221.
Landin, P. J., "A Correspondence between ALGOL 60 and Church's Lambda Notation: Part I", Communications of the ACM 8, 2(February 1965), 89–101.
Turner, D. A., "A New Implementation Technique for Applicative Languages", Software — Practice and Experience 9, 1(January 1979), 31–49.
Wadge, W. W., "An Extensional Treatment of Dataflow Deadlock", Theoretical Computer Science 13, 1(January 1981), 3–15.
Weng, K.-S., Stream-Oriented Computation in Recursive Data Flow Schemas, Laboratory for Computer Science (TM-68), MIT, Cambridge, Massachusetts, October 1975.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1982 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arvind, Brock, J.D. (1982). Streams and managers. In: Maekawa, M., Belady, L.A. (eds) Operating Systems Engineering. IBM 1980. Lecture Notes in Computer Science, vol 143. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-11604-4_66
Download citation
DOI: https://doi.org/10.1007/3-540-11604-4_66
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-11604-2
Online ISBN: 978-3-540-39424-2
eBook Packages: Springer Book Archive