Abstract
Eager and lazy evaluations in a dataflow model are proposed, Such evaluation enables nonstrict evaluation, structure data manipulation and nondeterminate computation. Several dataflow computation models are discussed from the viewpoint of their by-value and by-reference mechanisms, i. e., their token to data correspondence. It is shown that effective implementation is achieved by unifying both mechanisms. This implies the effective implementation of the lenient cons and lazy cons concept in list manipulation. Nonstrict list manipulation is shown to be useful for stream-oriented processing, and for nondeterminate computation combined with the nonstrict primitive operator, Arbiter. Several sample programs are included to show that concurrent processes and object-oriented programs can be intuitively described in functional language.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Amamiya, M.: “A Design Philosophy of High Level Language for Data Flow Machine, Valid.” Proc. Annual Conf. of IECE, Japan (1981).
Amamiya, M., Hasegawa, R. and Kiyoki, Y.: “Eager and Lazy Evaluation Mechanism in Data Flow Architecture and Its Application to Parallel Inference Machine,” Proc. of Work Meeting for Computers, IECE, Japan (1983).
Amamiya M., Hasegawa R. and Mikami, H.: “List Processing with Data Flow Machine,” Lecture Notes in Computer Science,No. 147 (Springer-Verlag, 1983) 165–190.
Amamiya, M., Hasegawa, R., Nakamura, O. and Mikami, H.: “A List-Processing-Oriented Data Flow Machine Architecture,” Proc. of the 1982 National Computer Conference, AFIPS (1982) 143–151.
Arvind and Kathail, V.: “A Multi Processor Dataflow Machine That Supports Generalized Procedures,” Proc. 8th Ann. Sympo. Computer Architecture (1981) 291–302.
Bryant, R. E. and Dennis, J. B.: “Concurrent Programming,” Lecture Notes in Computer Science,No. 143 (Springer-Verlag, 1982) 426–451.
Clark, K. L. and Gregory, S.: “PARLOG: A Parallel Logic Programming Language,” Research Report,DOC 83/5 (Imperial College of Science and Technology, Univ., London, 1983).
Clark, K. L. and Tärnlund, S.-Å. (ed.): “Logic Programming” (Academic Press, London, 1982).
Darlington, J. and Reeve, M. J.: “ALICE: A Multiprocessor Reduction Machine,” Proc. Conf. Functional Programming Language and Computer Architecture (ACM, New York, 1981) 65–75.
Darlington, J., Henderson, P. and Turner, D. A.: “Functional Programming and its Applications” (Cambridge Univ. Press, 1982).
Dennis, J. B.: “Data Flow Supercomputers,” IEEE Computer,13, No. 11 (1980) 48–56.
Dijkstra, E. W.: “Guarded Commands, Nondeterminacy and Formal Derivation of Programs,” Commun. ACM,18, No. 8 (1975) 453–457.
Gurd, J. and Watson, I.: “Data Driven System for High Speed Computing, Part I,” Computer Design (June, 1980) 91–100.
Hasegawa, R. and Amamiya, M.: “On the implementation of Lazy Evaluation with Data Flow Machine,” Proc. Ann. Conf. IPSJ, Japan (1982).
Kahn, G.: “The Semantics of a Simple Language for Parallel Programming,” Proc. IFIP Congress 74 (1974) 471–475.
Keller, R. M., Lidstrom, G. and Patil, S. S.: “A Loosely-Coupled Applicative Multiprocessing System,” Proc. of the 1979 National Computer Conference, AFIPS (1979) 613–622.
Kowalski, R. A.: “Logic for Problem Solving” (North-Holland, 1979).
Ono, S., Takahashi, N. and Amamiya, M.: “Partial Computation with a Dataflow Machine,” Proc. Fifth Conf. on Mathematical Methods in Software Science and Engineering (Research Institute for Mathematical Science, Kyoto Undversity, 1983).
Shapiro, E. and Takeuchi, A.: “Object Oriented Programming in Concurrent Prolog,” New Generation Computing,1, No. 1 (1983) 25–48.
Sussman, G. J. and Steel, G. L.: “Constraints — A Language for Expressing Almost Hierarchical Descriptions,” Artificial Intelligence,14 (1980).
Takahashi, N. and Amamiya, M.: “A Data Flow Processor Array System: Design and Analysis,” Proc. 10th Ann. Sympo. Computer Architecture (1983) 243–250.
Treleaven, P. C., Brownbridge, D. R. and Hopkins, R. P.: “Data Driven and Demand Driven Computer Architecture,” ACM Computing Survey,14, No. 1 (1982) 93–143.
Weng, K. S.: “Stream-Oriented Computation in Recursive Data Flow Schemas,” Technical Memo,TM-68 (Laboratory for Computer Science, MIT, 1975).
Author information
Authors and Affiliations
About this article
Cite this article
Amamiya, M., Hasegawa, R. Dataflow computing and eager and lazy evaluations. NGCO 2, 105–129 (1984). https://doi.org/10.1007/BF03037098
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF03037098