Many visual programming languages (VPLs) rely on the data-flow paradigm, probably because
of its simple and intuitive functioning mechanism. However, there are cases where more
powerful programming constructs are needed to deal with complex problems. For example, iteration
is undoubtedly an important aspect of programming, and should allow repetitive behaviors to be
specified in compact and easy ways. Most existing data-flow VPLs provide special constructs to
implement iterations, therefore infringing the pure data-flow paradigm in favor of program simplicity.
This paper has three main purposes: (1) To provide a survey of the mechanisms used by some
representative data-flow VPLs to carry out iterations; (2) To investigate, given a pure data-flow VPL,
what should be the minimum set of characteristics which, after being added to the VPL, allow iterations
to be implemented; and (3) To show real data-flow iteration implementations which rely on the
characteristics pertaining to such a minimum set.