Difference between revisions of "Exec-tree-example.as"

From Organic Design wiki
 
 
Line 1: Line 1:
 +
An example of [[nodal reduction]] in ActionScript or JavaScript.
 +
<as>
 
A = function() {trace("A"); return B;};
 
A = function() {trace("A"); return B;};
 
B = function() {trace("B"); return C;};
 
B = function() {trace("B"); return C;};
Line 25: Line 27:
 
}
 
}
 
}
 
}
 +
</as>
 +
[[Category:Nodal Concepts]]

Latest revision as of 00:03, 13 July 2008

An example of nodal reduction in ActionScript or JavaScript. <as> A = function() {trace("A"); return B;}; B = function() {trace("B"); return C;}; C = function() {trace("C"); return A;};

P = function() {trace("P"); return Q;}; Q = function() {trace("Q"); return R;}; R = function() {trace("R"); return P;};

X = function() {trace("X"); return Y;}; Y = function() {trace("Y"); return Z;}; Z = function() {trace("Z"); return X;};

someNode = {queue:[P,X]}; root = {queue:[A,someNode]};

while (true) { cwd = root; for (var i = 1; i == 1;) { var queue = cwd.queue; if (queue.length > 0) { var todo = queue.shift(); if (next = typeOf(todo) == 'function' ? (i = todo.call) : (cwd = todo)) queue.push(next); } else i = 0; } } </as>