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.