This paper complements our previous paper “Functional programming with streams.” The purpose of this paper is two-fold: to further develop the concept of a stream, and to present an implementation aspect of stream programming. Stream programming is decomposed into three phases, i.e. stream generation, stream transformation and stream reduction and for each phase we have (stream) generators, transformers and reducers, respectively. A linear recursive function equation, for example, is described as a composition of a stream generator and a reducer. We also give a listing of implemented stream processing functions in this paper.
Functional Programming Stream Program Transformation