```⍝ John Conway's "Game of Life":

⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝ 2-manifold operators:

⍺⍺ ⍵                            ⍝       →
}                                   ⍝ └─→─┘   └─→─┘

cut←{                               ⍝ ┌─→─┐   ┌───┐ edges blocked
1↓⍺⍺ 0⍪⍵                        ⍝       →
}                                   ⍝ └─→─┘   └───┘

rev←{                               ⍝ ┌─→─┐   ┌─←─┐ edges reversed
2↓¯1⊖⍺⍺ ¯1⊖⍵⍪⊖⌽2↑¯1⊖⍵           ⍝       →
}                                   ⍝ └─→─┘   └─→─┘

T←{⍉⍺⍺⍉⍵}                           ⍝ under transpose                 ⍢⍉<V>

⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝

glider ← 5 5↑ 3 3⍴0 0 1, 1 0 1, 0 1 1   ⍝ initial population.

try ← {{'·⍟'[⎕io+⍵]}¨⍺⍺ traj ⍵}

life cut T cut try glider           ⍝ life on a finite plane
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
│··⍟··│·⍟···│··⍟··│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│⍟·⍟··│··⍟⍟·│···⍟·│·⍟·⍟·│···⍟·│··⍟··│···⍟·│·····│·····│·····│·····│·····│
│·⍟⍟··│·⍟⍟··│·⍟⍟⍟·│··⍟⍟·│·⍟·⍟·│···⍟⍟│····⍟│··⍟·⍟│····⍟│···⍟·│·····│·····│
│·····│·····│·····│··⍟··│··⍟⍟·│··⍟⍟·│··⍟⍟⍟│···⍟⍟│··⍟·⍟│····⍟│····⍟│···⍟⍟│
│·····│·····│·····│·····│·····│·····│·····│···⍟·│···⍟⍟│···⍟⍟│···⍟⍟│···⍟⍟│
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

life adj T cut try 10 5↑glider      ⍝ life on a cylinder
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
│··⍟··│·⍟···│··⍟··│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│⍟·⍟··│··⍟⍟·│···⍟·│·⍟·⍟·│···⍟·│··⍟··│···⍟·│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·⍟⍟··│·⍟⍟··│·⍟⍟⍟·│··⍟⍟·│·⍟·⍟·│···⍟⍟│····⍟│··⍟·⍟│····⍟│···⍟·│····⍟│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│··⍟··│··⍟⍟·│··⍟⍟·│··⍟⍟⍟│···⍟⍟│··⍟·⍟│⍟···⍟│⍟····│⍟··⍟·│⍟····│····⍟│⍟····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│···⍟·│···⍟⍟│···⍟⍟│⍟··⍟⍟│⍟···⍟│⍟··⍟·│⍟⍟···│·⍟···│·⍟··⍟│·⍟···│⍟····│·⍟···│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│····⍟│⍟···⍟│⍟···⍟│⍟⍟··⍟│⍟⍟···│·⍟··⍟│·⍟⍟··│··⍟··│⍟·⍟··│··⍟··│·⍟···│··⍟··│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│⍟⍟···│⍟⍟···│⍟⍟⍟··│·⍟⍟··│⍟·⍟··│··⍟⍟·│···⍟·│·⍟·⍟·│···⍟·│··⍟··│···⍟·│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·⍟···│·⍟⍟··│·⍟⍟··│·⍟⍟⍟·│··⍟⍟·│·⍟·⍟·│···⍟⍟│····⍟│··⍟·⍟│····⍟│···⍟·│····⍟│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│··⍟··│··⍟⍟·│··⍟⍟·│··⍟⍟⍟│···⍟⍟│··⍟·⍟│⍟···⍟│⍟····│⍟··⍟·│⍟····│⍟···⍟│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│···⍟·│···⍟⍟│···⍟⍟│⍟··⍟⍟│⍟···⍟│⍟···⍟│⍟···⍟│
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
│··⍟··│·⍟···│··⍟··│·····│·····│·····│·····│·····│·····│·····│·····│····⍟│⍟···⍟│⍟···⍟│⍟⍟··⍟│⍟⍟···│·⍟··⍟│·⍟⍟··│··⍟··│⍟·⍟··│
│⍟·⍟··│··⍟⍟·│···⍟·│·⍟·⍟·│···⍟·│··⍟··│···⍟·│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│⍟⍟···│⍟⍟···│⍟⍟⍟··│·⍟⍟··│
│·⍟⍟··│·⍟⍟··│·⍟⍟⍟·│··⍟⍟·│·⍟·⍟·│···⍟⍟│····⍟│··⍟·⍟│····⍟│···⍟·│····⍟│·····│·····│·····│·····│·····│·····│·····│·····│·⍟···│
│·····│·····│·····│··⍟··│··⍟⍟·│··⍟⍟·│··⍟⍟⍟│···⍟⍟│··⍟·⍟│⍟···⍟│⍟····│⍟··⍟·│⍟····│····⍟│⍟····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│···⍟·│···⍟⍟│···⍟⍟│⍟··⍟⍟│⍟···⍟│⍟··⍟·│⍟⍟···│·⍟···│·⍟··⍟│·⍟···│⍟····│·⍟···│·····│
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

life cut T rev try 5 10↑glider      ⍝ life on a möbius strip
┌──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┬──────────┐
│··⍟·······│·⍟········│··⍟·······│··········│··········│··········│··········│··········│··········│··········│··········│·····⍟····│····⍟⍟····│····⍟⍟····│···⍟⍟⍟····│···⍟⍟·····│···⍟·⍟····│··⍟⍟······│··⍟·······│··⍟·⍟·····│··⍟·······│···⍟······│··⍟·······│··········│··········│··········│··········│··········│··········│··········│··········│··········│
│⍟·⍟·······│··⍟⍟······│···⍟······│·⍟·⍟······│···⍟······│··⍟·······│···⍟······│··········│··········│··········│··········│··········│··········│··········│··········│····⍟·····│···⍟⍟·····│···⍟⍟·····│··⍟⍟⍟·····│··⍟⍟······│··⍟·⍟·····│·⍟⍟·······│·⍟········│·⍟·⍟······│·⍟········│··⍟·······│·⍟········│··········│··········│··········│··········│··········│
│·⍟⍟·······│·⍟⍟·······│·⍟⍟⍟······│··⍟⍟······│·⍟·⍟······│···⍟⍟·····│····⍟·····│··⍟·⍟·····│····⍟·····│···⍟······│····⍟·····│··········│··········│··········│··········│··········│··········│··········│··········│···⍟······│··⍟⍟······│··⍟⍟······│·⍟⍟⍟······│·⍟⍟·······│·⍟·⍟······│⍟⍟········│⍟·········│⍟·⍟·······│⍟·········│·⍟········│··········│··········│
│··········│··········│··········│··⍟·······│··⍟⍟······│··⍟⍟······│··⍟⍟⍟·····│···⍟⍟·····│··⍟·⍟·····│····⍟⍟····│·····⍟····│···⍟·⍟····│·····⍟····│····⍟·····│·····⍟····│··········│··········│··········│··········│··········│··········│··········│··········│··⍟·······│·⍟⍟·······│·⍟⍟·······│⍟⍟⍟·······│⍟⍟········│⍟·⍟·······│⍟·········│⍟·········│⍟⍟········│
│··········│··········│··········│··········│··········│··········│··········│···⍟······│···⍟⍟·····│···⍟⍟·····│···⍟⍟⍟····│····⍟⍟····│···⍟·⍟····│·····⍟⍟···│······⍟···│····⍟·⍟···│······⍟···│·····⍟····│······⍟···│··········│··········│··········│··········│··········│··········│··········│··········│·⍟········│⍟⍟········│⍟⍟········│⍟⍟········│⍟⍟········│
└──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┴──────────┘

life adj T rev try glider           ⍝ life on a klein bottle
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
│··⍟··│·⍟···│··⍟··│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│⍟···⍟│⍟···⍟│⍟··⍟⍟│···⍟⍟│⍟··⍟·│··⍟⍟·│··⍟··│··⍟·⍟│··⍟··│···⍟·│··⍟··│·····│·····│·····│·····│·····│·····│·····│·····│····⍟│⍟···⍟│⍟···⍟│⍟⍟··⍟│⍟⍟···│·⍟··⍟│·⍟⍟··│··⍟··│⍟·⍟··│
│⍟·⍟··│··⍟⍟·│···⍟·│·⍟·⍟·│···⍟·│··⍟··│···⍟·│·····│·····│·····│·····│·····│·····│·····│·····│····⍟│···⍟⍟│···⍟⍟│··⍟⍟⍟│··⍟⍟·│··⍟·⍟│·⍟⍟··│·⍟···│·⍟·⍟·│·⍟···│··⍟··│·⍟···│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│⍟⍟···│⍟⍟···│⍟⍟⍟··│·⍟⍟··│
│·⍟⍟··│·⍟⍟··│·⍟⍟⍟·│··⍟⍟·│·⍟·⍟·│···⍟⍟│····⍟│··⍟·⍟│····⍟│···⍟·│····⍟│·····│·····│·····│·····│·····│·····│·····│·····│···⍟·│··⍟⍟·│··⍟⍟·│·⍟⍟⍟·│·⍟⍟··│·⍟·⍟·│⍟⍟···│⍟····│⍟·⍟··│⍟····│·⍟···│⍟····│·····│·····│·····│·····│·····│·····│·····│·····│·⍟···│
│·····│·····│·····│··⍟··│··⍟⍟·│··⍟⍟·│··⍟⍟⍟│···⍟⍟│··⍟·⍟│⍟···⍟│⍟····│⍟··⍟·│⍟····│····⍟│⍟····│·····│·····│·····│·····│·····│·····│·····│·····│··⍟··│·⍟⍟··│·⍟⍟··│⍟⍟⍟··│⍟⍟···│⍟·⍟··│⍟···⍟│····⍟│·⍟··⍟│····⍟│⍟····│····⍟│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│···⍟·│···⍟⍟│···⍟⍟│⍟··⍟⍟│⍟···⍟│⍟··⍟·│⍟⍟···│·⍟···│·⍟··⍟│·⍟···│⍟····│·⍟···│·····│·····│·····│·····│·····│·····│·····│·····│·⍟···│⍟⍟···│⍟⍟···│⍟⍟··⍟│⍟···⍟│·⍟··⍟│···⍟⍟│···⍟·│⍟··⍟·│···⍟·│····⍟│···⍟·│·····│
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

life rev T rev try 11 5↑glider      ⍝ life on the real projective plane (RP2)
┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
│··⍟··│·⍟···│··⍟··│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│····⍟│····⍟│····⍟│·····│·····│
│⍟·⍟··│··⍟⍟·│···⍟·│·⍟·⍟·│···⍟·│··⍟··│···⍟·│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│···⍟·│···⍟⍟│···⍟⍟│···⍟⍟│····⍟│···⍟·│·····│·····│·····│
│·⍟⍟··│·⍟⍟··│·⍟⍟⍟·│··⍟⍟·│·⍟·⍟·│···⍟⍟│····⍟│··⍟·⍟│····⍟│···⍟·│····⍟│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│··⍟··│··⍟⍟·│··⍟⍟·│··⍟⍟⍟│···⍟⍟│··⍟·⍟│····⍟│·····│···⍟·│·····│····⍟│·····│·····│
│·····│·····│·····│··⍟··│··⍟⍟·│··⍟⍟·│··⍟⍟⍟│···⍟⍟│··⍟·⍟│····⍟│·····│···⍟·│·····│····⍟│·····│·····│·····│·····│·····│·⍟···│·⍟⍟··│·⍟⍟··│·⍟⍟⍟·│··⍟⍟·│·⍟·⍟·│···⍟⍟│····⍟│··⍟·⍟│····⍟│···⍟·│····⍟│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│···⍟·│···⍟⍟│···⍟⍟│···⍟⍟│····⍟│···⍟·│·····│·····│⍟···⍟│⍟⍟···│⍟⍟···│⍟⍟⍟··│·⍟⍟··│⍟·⍟··│··⍟⍟·│···⍟·│·⍟·⍟·│···⍟·│··⍟··│···⍟·│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│····⍟│⍟···⍟│⍟···⍟│⍟⍟··⍟│⍟⍟···│·⍟··⍟│·⍟⍟··│··⍟··│⍟·⍟··│··⍟··│·⍟···│··⍟··│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│⍟····│⍟····│⍟⍟···│·⍟···│·⍟···│·⍟···│⍟····│·⍟···│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│⍟····│⍟····│⍟····│·····│⍟····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│⍟····│⍟····│⍟····│·····│·····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│⍟····│⍟····│⍟····│⍟····│·····│
│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│·····│⍟····│·⍟···│·····│
└─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘

⍝∇ life traj

Back to: code

Back to: Workspaces
```