I designed a tree CPU concept;
Basically the entire machine state (outside intra-CPU functions) is represented as an N-child named tree, including the program being executed;
The CPU reads from an Input leaf and uses the array of names within to traverse the function tree, storing the current index in the the array to use subsequent array elements as parameters to the function;
The function executes a series of instructions to manipulate the tree by matching a collection of elements with entire, front, back, and N-shift name matches, with the pattern after deepest leaf being taken as argument, typically where to store a result if it's not an online modification;