CGOLOE
CGOLOE is a esolang made by User:yayimhere. its name os short for Conways Game Of Life Oriented Esolang. its a esolang made to compute conways game of life and is therefore also turing complete(since it can compute conways game of life and conways game of life is turing complete)
memory
memory is a 2d infinite matrix/grid. it is designed like the normal euclidean coordeinate system. the memory pointer starts at coords (0, 0)
syntax
the syntax of CGOLOE
symbol(s) | descriptioj |
---|---|
←↑→↓ | move around the memory |
∆ | loop over every cell in the relevant square and do the following instructions until a relevant seperator |
∇ | Represents the sum of all neighbor cells to current cell |
∂ | If the following if statement is true do the code after the seperator else it will do the code after the second seperator until the third seperator |
ω | Set the current cell to the following number |
[] | Loop whats in the brackets until the current cell is the following number |
+ | Increment current cell by 1 |
- | decrement current cell by 1 |
⍋ | print the current cell as a number |
⍒ | print the current cell as a ascii char |
⍠ | set current cell to user input |
⌥ | put in the following matrix into the memory such that its center will be at coords (0, 0). if it has no 0 it will be the lower right cell that will go to (0, 0) |
⟐ | Seperator |
⨀ | Relevant seperator |
ⁿ | represents current cell |
⁐ | no op |
( | nested seperator. the more ('s the deeper the nesting |
‱ | store the following matrix into the proceding letter |
{} | do the instructions in the brackets in the following matrix |
"" | store the ascii values of each char in the string into each cell from the current cell and to the left |
if statements
the syntax of an if
Header text | Header text |
---|---|
== | is the left number equal to the right |
!= | is the left side not equal to the right |
> | is the left side more than the right |
< | is the left side less than the right |
%! | is the following number even |
matrix
the structure of a matrix is:
⎡⎤ ⎢⎥ ⎣⎦
so this is a valid matrix for example:
⎡2 3 5⎤ ⎢4 6 1⎥ ⎣3 4 8⎦
this is also valid:
⎡4 55⎤ ⎢8 8⎥ ⎣9 7⎦
this is invalid:
⎡4⎤ ⎢6 6⎥ ⎣1⎦
this is invalid:
⎡6⎤
these are some examples of valid and invalid matricese.
the rules are:
- for every ⎡ there must exist a ⎣ below(and also with the rotated ones)
- there must only be 1 of each corner
- there must be 2 rows
- each row needs to be equally wide
programs
conways game of life(needs to have a matrix put in first which is not in the code):
[∆∂ⁿ==0⟐∂∇==3(ω1(⁐(⟐⁐⟐∂ⁿ==1⟐∂∇<2(ω0(⁐⟐⁐⨀∆⍋⨀]200
⍠[⍋]0⍋
Balanced Parentheses(only normal brackets):
false‱⎡102 97 108 115 101⎤⎣0 0 0 0 0⎦true‱⎡116 114 117 101⎤⎣0 0 0 0⎦A‱⎡0⎤⎣0⎦ω4↑ω5↓→"(()(()))"[→]0ω300[←]4→[∂ⁿ==40⟐↑+↓→⟐∂ⁿ==41(↑+↓→(⁐⟐⁐]300↑[{+}A←]{∂ⁿ%!⟐{∆⍒⨀}true⟐{∆⍒⨀}false}A