GEMROOTD

From Esolang
Jump to navigation Jump to search

Let GEMROOTD be a variant of Gemooy with the following modifications.

The symbols $ and % have been eliminated; instead, the presented playfield must have an odd number of symbols in each dimension, and the instruction pointer and data pointer are both considered to start at the center of the playfield.

We establish complete freedom of choice in the matter of the remaining symbols in the following manner.

  • The most frequently used symbol in the playfield is treated as equivalent to Gemooy's blank space.
  • The second most frequently used takes the place of @.
  • The third most frequently used takes the place of #. (In the case where a program actually requires more #-type symbols than @-type symbols, unused dummy @-type symbols which are never executed may of course be introduced.)
  • If the outer edges of the program consist of a fourth symbol which is used nowhere inside those edges, they are considered to denote a border. The playfield is then considered to be fixed; it consists of everything inside the border, and only ever that; it cannot expand dynamically as the program executes. Attempts for either of the pointers to move beyond the fixed area thus established cause the pointer to wrap around to the corresponding location on the other side.
  • The meaning of the presence of more than 4 different kinds of symbols is undefined and reserved for future expansion.

GEMROOTD was designed in April 2011 based on experiences with a visual art project based on Gemooy.