DocumentCode :
1379877
Title :
Programming with streams in a Pascal-like language
Author :
Nakata, Ikuo ; Sassa, Masataka
Author_Institution :
Inst. of Inf. Sci. & Electron., Tsukuba Univ., Ibaraki, Japan
Volume :
17
Issue :
1
fYear :
1991
fDate :
1/1/1991 12:00:00 AM
Firstpage :
1
Lastpage :
9
Abstract :
A description is given of features which were added to a conventional programming language that will manipulate streams of values. A stream is a sequence of values of a certain fixed type. The number of elements of a stream may be determined at execution time, and evaluation of each element can be postponed until its value is actually needed. Many programs can be expressed naturally and clearly as networks of processes communicating by means of streams. The network is called a composite function and consists of several component functions. Since component functions are connected solely by streams, they greatly increase the flexibility of combinations and the reusability of programs. Loop statements can be considered as iterative statements over streams. One general problem in these networks is the mechanism of terminating each process of the network. A practical solution for this problem is presented. Comparisons to other programming styles, such as coroutines, Lisp, functional programming, and dataflow languages, are described. Three modes of execution are considered for the implementation of composite functions: parallel mode, coroutine mode, and inline mode. In the inline mode, a composite function is expanded and transformed into a single function, realizing maximum run-time efficiency. Algorithms for this expansion are given
Keywords :
programming; Lisp; Pascal-like language; combinations; component functions; composite function; coroutine mode; coroutines; dataflow languages; fixed type; functional programming; inline mode; iterative statements; loop statements; parallel mode; programming styles; reusability; streams; Algorithms; Computer languages; Data structures; Functional programming; Joining processes; Level control; Runtime; Software engineering;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/32.67573
Filename :
67573
Link To Document :
بازگشت