Skip to main content
Log in

Dataflow computing and eager and lazy evaluations

  • Regular Papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Amamiya, M.: “A Design Philosophy of High Level Language for Data Flow Machine, Valid.” Proc. Annual Conf. of IECE, Japan (1981).

  2. 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).

  3. 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.

    Google Scholar 

  4. 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.

  5. Arvind and Kathail, V.: “A Multi Processor Dataflow Machine That Supports Generalized Procedures,” Proc. 8th Ann. Sympo. Computer Architecture (1981) 291–302.

  6. Bryant, R. E. and Dennis, J. B.: “Concurrent Programming,” Lecture Notes in Computer Science,No. 143 (Springer-Verlag, 1982) 426–451.

    Google Scholar 

  7. 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).

  8. Clark, K. L. and Tärnlund, S.-Å. (ed.): “Logic Programming” (Academic Press, London, 1982).

    MATH  Google Scholar 

  9. 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.

  10. Darlington, J., Henderson, P. and Turner, D. A.: “Functional Programming and its Applications” (Cambridge Univ. Press, 1982).

  11. Dennis, J. B.: “Data Flow Supercomputers,” IEEE Computer,13, No. 11 (1980) 48–56.

    Google Scholar 

  12. Dijkstra, E. W.: “Guarded Commands, Nondeterminacy and Formal Derivation of Programs,” Commun. ACM,18, No. 8 (1975) 453–457.

    Article  MATH  MathSciNet  Google Scholar 

  13. Gurd, J. and Watson, I.: “Data Driven System for High Speed Computing, Part I,” Computer Design (June, 1980) 91–100.

  14. Hasegawa, R. and Amamiya, M.: “On the implementation of Lazy Evaluation with Data Flow Machine,” Proc. Ann. Conf. IPSJ, Japan (1982).

  15. Kahn, G.: “The Semantics of a Simple Language for Parallel Programming,” Proc. IFIP Congress 74 (1974) 471–475.

    MathSciNet  Google Scholar 

  16. 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.

  17. Kowalski, R. A.: “Logic for Problem Solving” (North-Holland, 1979).

  18. 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).

  19. Shapiro, E. and Takeuchi, A.: “Object Oriented Programming in Concurrent Prolog,” New Generation Computing,1, No. 1 (1983) 25–48.

    Article  Google Scholar 

  20. Sussman, G. J. and Steel, G. L.: “Constraints — A Language for Expressing Almost Hierarchical Descriptions,” Artificial Intelligence,14 (1980).

  21. Takahashi, N. and Amamiya, M.: “A Data Flow Processor Array System: Design and Analysis,” Proc. 10th Ann. Sympo. Computer Architecture (1983) 243–250.

  22. 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.

    Article  Google Scholar 

  23. Weng, K. S.: “Stream-Oriented Computation in Recursive Data Flow Schemas,” Technical Memo,TM-68 (Laboratory for Computer Science, MIT, 1975).

Download references

Author information

Authors and Affiliations

Authors

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

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03037098

Keywords

Navigation