Here's an idea for a notation that I just came up with, and probably can't be extended too far but it's still pretty good I think.

The basic idea is this: You have an array enclosed with square brackets [], as well as various numbers inside.

If it's just one number, then nothing happens to it. Two numbers, and the first is raised to the power of the second. Three numbers is where it gets interesting.

**[a, b, c]** = a^b^b^b^b^...^b^b where b is repeated c times.

Four numbers? Well then:

**[a, b, c, d]** = a^^^...^^^b^^^...^^^b^^^...^^^(...)^^^...^^^b where b is repeated c times, and the number of ^s between each b is equivalent to d.

How does this continue then?

**[a, b, c, d, e]** = (a^^^...^^^b^^^...^^^b^^^...^^^(...)^^^...^^^b) ^ (a^^^...^^^b^^^...^^^b^^^...^^^(...)^^^...^^^b) ^ ... ^ (a^^^...^^^b^^^...^^^b^^^...^^^(...)^^^...^^^b)

where e is equivalent to the number of times the whole sequence is repeated. I'm going to call the sequence *S* from now on, for convenience.

**[a, b, c, d, e, f]** = *S*^^^...^^^*S*^^^...^^^*S*^^^...^^^(...)^^^...^^^*S* where the number of ^s is f.

**[a, b, c, d, e, f, g]** = (*S*^^^...^^^*S*^^^...^^^*S*^^^...^^^(...)^^^...^^^*S*) ^ (*S*^^^...^^^*S*^^^...^^^*S*^^^...^^^(...)^^^...^^^*S*) ^ (*S*^^^...^^^*S*^^^...^^^*S*^^^...^^^(...)^^^...^^^*S*) ^ ... ^ (*S*^^^...^^^*S*^^^...^^^*S*^^^...^^^(...)^^^...^^^*S*)

where g is equivalent to the times the sequence of sequences is repeated. I'm sure you can understand how this would extend.