VPL is a GraphicalProgrammingLanguage and environment for interactive image processing.
From 1991 paper http://www.camazotz.com/vplpaper :
"VPL uses a novel system architecture which separates interaction and computation components in order to provide a highly interactive visual programming user interface.
"VPL is based on a declarative, demand driven dataflow model of computation. It is a practical, usable visual programming system, integrating tools for browsing, inspecting and editing components and documentation. VPL also provides data persistence and data import / export mechanisms. The visual programming model supports both function extensibility and HigherOrderFunctions, allowing users to build their own program dataflow structures within the VPL environment."
The demand-driven model is an interesting difference between VPL and other dataflow GraphicalProgrammingLanguages, most of which use data-driven or "push" dataflow. For example here is the description of the 'If' primitive from the above paper:
The If component takes three inputs and produces one output. When demand is placed upon the output the If component is evaluated. The effect of the evaluation is as follows:
See also: DeclarativeProgramming, DataflowProgramming, LazyEvaluation.