This Article 
 Bibliographic References 
 Add to: 
Demand-Driven Interpretation of FP Programs on a Data-Flow Multiprocessor
August 1988 (vol. 37 no. 8)
pp. 946-966
Presents a demand-driven evaluation system for list-structure language systems, using the functional language FP. It enables execution in a data-driven environment. A formal approach for transforming FP programs into lazy programs, which contain the notion of demands, is used. The superset language of FP is called DFP (demand-driven FP). A demand reduction scheme is used to remove unnecessary d

[1] M. Anderson and F. Berman, "Removing useless tokens from a dataflow computation," inProc. 1987 Int. Conf. Parallel Processing, Aug. 1987, pp. 614-617.
[2] D. A. Adams, "A computation model with data flow sequencing," Tech. Rep. CS117, Comput. Sci. Dep., Stanford Univ., Dec. 1968.
[3] Arvind and K. P. Gostelow, "The U-interpreter,"IEEE Computer, pp. 42-49, Feb. 1982.
[4] M. Amamiya and R. Hasegawa, "Dataflow computing and eager and lazy evaluations,"New Generation Comput., vol. 2, pp. 105-129, 1984.
[5] Arvind and R. A. Iannucci, "Two fundamental issues in multiprocessing: The dataflow solutions," Tech. Rep. Computational Structure Group Memo 226-5, MIT Lab. Comput. Sci., July 1986.
[6] Arvind, V. Kathail, and K. Pingali, "A data-flow architecture with tagged tokens," Tech. Rep. TM-174, Lab. Comput. Sci. (TM-174), MIT, Sept. 1980.
[7] Arvind and R. S. Nikhil, "Executing a program on the MIT tagged-token dataflow architecture," inProc. Parallel Architectures and Languages in Europe (PARLE), Springer-Verlag LNCS no. 259, June 1987, pp. 1-29.
[8] J. Backus, "Can programming be liberated from the von Neumann style? A functional style and its algebra of programs,"Commun. ACM, vol. 21, no. 8, pp. 613-641, Aug. 1978.
[9] J. Backus, "The algebra of functional programs: Function level reasoning, linear equations, and extended definitions," inProc. Formalization Programming Concepts, LNCS 107. Berlin, Germany: Springer, 1981, pp. 1-43.
[10] H. P. Barendregt,The Lambda Calculus-Its Syntax and Semantics. Amsterdam, The Netherlands: North-Holland, 1981.
[11] K. Berkling, "Reduction languages for reduction machines," inProc. IEEE Int. Symp. Comput. Architecture, 1975, pp. 133-140.
[12] D. D. Chamberlin, "Parallel implementation of a single-assignment language," Ph.D. dissertation, Stanford Univ., Comput. Science, 1971.
[13] J. B. Dennis,First Version of a Data Flow Procedure Language. New York: Springer-Verlag, Apr. 1974, pp. 362-376.
[14] D. P. Friedman and D. S. Wise, "Cons should not evaluate its arguments,"Automata, Languages Programming, pp. 257-284, 1976.
[15] J. L. Gaudiot, "Data-driven multicomputers in digital signal processing,"Proc. IEEE, pp. 1220-1234, Sept. 1987.
[16] J. R. Gurd, C. C. Kirkham, and I. Watson, "The Manchester prototype dataflow computer,"Commun. ACM, vol. 28, no. 1, pp. 34-52, Jan. 1985.
[17] E. B. Hogenauer, R. F. Newbold, and Y. J. Inn, "DDSP-A data flow computer for signal processing," inProc. 1982 Int. Conf. Parallel Processing, Aug. 1982.
[18] K. Hiraki, T. Shimada, and K. Nishida, "A hardware design of the SIGMA-1-A data flow computer for scientific computations," inProc. 1984 Int. Conf. Parallel Processing, Aug. 1984.
[19] J. Hughes, "Supercombinators: A new implementation method for applicative languages," inProc. 1982 ACM Conf. Lisp Funct. Prog., Aug. 1982, pp. 1-10.
[20] T. Johnsson, "Efficient compilation of lazy evaluation,"ACM SIGPLAN Notices, pp. 58-69, June 1984.
[21] J. R. Kennaway and M. R. Sleep, "The 'language first' approach,"Distrib. Comput., pp. 111-124, 1984.
[22] G. A. Magó, "A cellular computer architecture for functional programming," inProc. Conf. Very Large Scale Integration, 1979.
[23] Z. Manna,Mathematical Theory of Computation. New York: McGraw-Hill, 1974.
[24] J. R. McGraw and S. K. Skedzielewski, "SISAL: Streams and iteration in a single assignment language, language reference manual, Version 1.2," Tech. Rep. Lawrence Livermore Nat. Lab., Mar. 1985.
[25] S. Ono, N. Takahashi, and M. Amamiya, "Optimized demand-driven evaluation of functional programs," inProc. 1986 Int. Conf. Parallel Processing, 1986, pp. 421-428.
[26] K. Pingali and Arvind, "Efficient demand-driven evaluation, part 1,"ACM Trans. Programming Language Syst., vol. 7, pp. 311-333, Apr. 1985.
[27] K. Pingali and Arvind, "Efficient demand-driven evaluation. part 2,"ACM Trans. Programming Language Syst., vol. 8, pp. 109-139, Jan. 1986.
[28] J. E. Rodriguez, "A graph model for parallel computation," Tech. Rep. TR ESL-R-398, MAC-TR-64, Lab. Comput. Sci., MIT, Sept. 1969.
[29] M. E. Kopache and E. P. Glinert, "C2: A mixed textual/graphical environment for C," inProc. IEEE Workshop Visual Languages. 1988, pp. 231-238.
[30] D. A. Turner, "New implementation techniques for applicative languages,"Software-Practive Exp., pp. 31-49, Jan. 1979.
[31] A. H. Veen, "Dataflow machine architecture,"ACM Comput. Survey, vol. 18, pp. 365-396, Dec. 1986.
[32] S. R. Vegdahl, "A survey of proposed architecture for the execution of functional languages,"IEEE Trans. Comput., vol. C-33, pp. 1050- 1071, Dec. 1984.
[33] Y. H. Wei and J. L. Gaudiot, "A distributed-control function invocation mechanism for data driven execution," Tech. Rep. CRI-87- 39, Comput. Res. Instit., Univ. Southern California, Aug. 1987.
[34] Y. H. Wei and J. L. Gaudiot, "A demand optimization algorithm for demand-driven execution of FP programs," Tech. Rep. CRI-88, Comput. Res. Instit., Univ. Southern California, Jan. 1988.
[35] J. H. Williams, "Notes on the FP style programming," inFunctional Programming and Its Application. Cambridge, MA: Cambridge University Press, 1982.

Index Terms:
data-flow multiprocessor; demand-driven evaluation system; list-structure language systems; functional language FP; lazy programs; DFP; demand-driven FP; data-flow graphs; FP-DFP transformation rules; partial-function-value evaluation; run-time interpretation; graph theory; multiprocessing systems; parallel programming; program interpreters.
Y.-H. Wei, J.-L. Gaudiot, "Demand-Driven Interpretation of FP Programs on a Data-Flow Multiprocessor," IEEE Transactions on Computers, vol. 37, no. 8, pp. 946-966, Aug. 1988, doi:10.1109/12.2246
Usage of this product signifies your acceptance of the Terms of Use.