The combination of FORNEST and GETPUT allows for the description of
a = a + 1
in a knowledge network. Here, the variables OldA and NewA take on the roles of a on either side of what in programming terms would be a fetch/store assignment. The GETPUT operator handles the moving of values from one side to the other, reacting to a signal from the FORNEST (or WHILE) operator.
The FORNEST, triggered into action, puts out an Initialisation, signalling the start of the loop.
|The FORNEST puts out a value for I, which is an input to the GETPUT operator.|
|If GETPUT's variable is unknown, it puts out the Default Value, otherwise it puts out the current value of the variable.|
|The value moves through the network, eventually encountering the GETPUT again.|
|The GETPUT sets the value of the variable to the new value, without changing the value it put out before. It then puts out a value of True to Test.|
|I is reset to NYK, killing all data in the loop.|
|A new value for I is pushed out, restarting the process.|
|The loop is repeated until Test returns False, or the loop is exhausted.|
Multiple GETPUT operators can be connected through an AND to the FORNEST.