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 HigherOrderFunction''''''s, 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: * If there is no value on the first input port then propagate demand for it. * If the value of the first input is 'True' then propagate demand on the second input port and forward the value returned as the output of the component. * If the value of the first input is not 'True' then propagate demand on the third input port and forward the value returned as the output of the component. Note that this is a demand driven evaluation sequence; only if there is a need for the value of each individual input is demand propagated along that input link. See also: DeclarativeProgramming, DataflowProgramming, LazyEvaluation. ---- CategoryProgrammingLanguage