Automod-D

From Esolang
Jump to navigation Jump to search

Automod-D, or simple Automod, is an infnite family of esolangs created by User:CreeperBomb in 2023. Each language exists on an infinitely large space of dimension D that is comprised by individual cells, preset by the programmer, & edited by the user (the edit being input). The code part is a list of rules telling how each cell should evolve based on its neighbors. Note that this isn't symmetric; for example, if in Automod-1 a 1 cell left of a 1 cell should become a 0 cell, that may not mean a 1 cell right of a 1 cell should become a 0 cell.

Semantics

In a rule, on the changing cell and each neighbor cell, which includes diagonals, you may give an statement relating to the cell's value. If all of the cells' statements for a rule are true, then the cell will follow the change specified by the rule; otherwise, the cell looks for later specified rules in the code it could follow. If there is no rule the cell can follow, then that cell becomes a 0 cell.

The change specified by a rule is simply an expression. It can access the values of itself and its neighbors with a cell's relative coordinates. For example, to make a 1 cell in Automod-3 become the mean of its neighbors, one way of writing the change would be .

Turing completeness

Automod-1 is easily Turing complete as you can code rule 110 in it, which is known to be Turing complete. It is also easily true that for D>1, Automod must be Turing complete as you can simple ignore the extra dimensions. However, Automod-0 is less obviously Turing complete, as there is only one cell to work with; but it is also Turing complete, as you can use powers of two to have infinitely many bits to store the program and memory state for an Expressive interperter in Automod-0. Unnatural dimensions for Automod have unknown Turing completeness.