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>