Excellulata
Jump to navigation
Jump to search
The name is a portmanteau of "Excel", "cellular" and "automata".
Syntax of formula
A formula is an expression written in Polish(Prefix) notation. Operators include:
add A B | Add A to B. con A B | Concatenate A with B. sub A B | Subtract B from A. mul A B | Multiply A by B, or duplicate a string. div A B | Floor divide A by B. mod A B | Modulus A by B len S | Length of a string. find A B | Find the first occurency of B in A. Returns its index. repl A B C | Replace A with C from index B. gsub A B C | Get the substring of A from index B and has length C. findrepl A B C | Find all the occurencies of B in A and replace them with C. if A B C | If A is truthy, return B, else return C. get X Y | Get the result of the cell that is X cell right, Y cell down. In 1D version, there is no "Y". put X Y F | Set the formula of the cell that is X cell right, Y cell down to F. In 1D version, there is no "Y".
Only datatypes are numbers(integers) and strings. String constants are enclosed by {braces} and can be nested.
Excellulata 1D
Ths program executes on an infinite 1D grid.
Each grid contains a formula and a result.
To reference the result, use "t"(top) or "b"(bottom) followed by a positive integer.
To reference the formula, add a "f" before the "t" or "b".
Excellulata 2D
Ths program executes on an infinite 2D grid.
Each grid contains a formula and a result.
To reference the result, use "t"(top) or "b"(bottom) followed by a positive integer, then followed by "l"(left) or "r"(right) and another positive integer.
Examples
Downward replicator in 1D
put 1 get 0