Difference between revisions of "Loop"

From Organic Design wiki
m (Caretaker: Format cat links)
m
 
(20 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:Nodal Concepts]][[Category:Glossary]]
+
In the [[nodal model]], a [[loop]] is a [[Wikipedia:Linked list#Circularly-linked list|circularly linked list]] formed from nodal [[association]]s. Since none of the [[node]]s in a loop is a starting or finishing point, a loop can be [[node references|referenced]] by ''any'' of its node-items. This means that a reference to a loop can also encapsulate the concept of an item of ''current focus'', a concept used heavily by [[nodal reduction]].
{{stub}}
 
;Current Loop
 
In [[Nodal Reduction]], a node's ''current focus'' is a node from it's ''current loop'' which is reached by following the node's ''current-loop-asociation''. In the [[nodeSpace.c]] source, the ''current-loop-association'' is reffered to by a constant called ''nodeLOOP''. Structurally, nodal loops are [[Wikipedia:Linked_list#Circularly-linked_list|circularly linked lists]] formed from nodal associations. In [[w:graph theory|graph theory]] a loop is called a ''Cycle''.
 
  
 +
If a loop is not circularly-linked, then the last item must link to [[root]] and it is called a [[thread]] instead. Threads only rotate once and are then automatically unhooked because every [[quanta]] sent to root is a new quanta.
  
;Loops in general
+
In [[nodal reduction]], a [[node]]'s value (obtained by calling nodeGet/SetValue with the key parameter set to zero) is called the current [[focus]] and it is a [[node]] in the [[loop]]. This node of current-focus is the one which will receive the next [[quantum]] of execution from its parent node, and is part of a loop of nodes which all receive quanta as the loop is rotated by the nodal reduction process.
A Loop is formed when all ''[[next]]s'' form a complete loop in one direction and all ''[[prev]]s'' link up in exactly the opposite direction. A Loop does not distinguish any [[List-Item]] as being the start or finish.
 
  
Loops are structurally identical to [[Queue]]s, but are treated differently by the contexts that use them.
+
If a loop has static structure, then it can appear in many contexts simultaneously, it's [[association|parent association]] will be dynamically maintained by the [[nodal reduction]] algorithm.
  
This has important implications when it comes to structures composed of [[node]]s which can be Loops. Since none of the nodes is the start or finish, a Loop can be referenced by ''any'' of its items.
+
{{code|[[Image:loop.png]]}}
 +
[[Category:Nodal Concepts]]

Latest revision as of 22:41, 26 August 2012

In the nodal model, a loop is a circularly linked list formed from nodal associations. Since none of the nodes in a loop is a starting or finishing point, a loop can be referenced by any of its node-items. This means that a reference to a loop can also encapsulate the concept of an item of current focus, a concept used heavily by nodal reduction.

If a loop is not circularly-linked, then the last item must link to root and it is called a thread instead. Threads only rotate once and are then automatically unhooked because every quanta sent to root is a new quanta.

In nodal reduction, a node's value (obtained by calling nodeGet/SetValue with the key parameter set to zero) is called the current focus and it is a node in the loop. This node of current-focus is the one which will receive the next quantum of execution from its parent node, and is part of a loop of nodes which all receive quanta as the loop is rotated by the nodal reduction process.

If a loop has static structure, then it can appear in many contexts simultaneously, it's parent association will be dynamically maintained by the nodal reduction algorithm.


Loop.png