func rule110_step[state: Array] : Array new_state := [] for i in 0..state->size left := false if i - 1 >= 0 left = array.nth(state, i - 1) center : bool = array.nth(state, i) right := false if i + 1 < state->size right = array.nth(state, i + 1) array.push(new_state, !((!left && !center && !right) || (left && !center && !right) || (left && center && right))) return new_state func print_state[state: Array]: void for i in 0..state->size if array.nth(state, i) io.print_char('#') else io.print_char(' ') io.println("") func main[] : i64 SIZE := 60 state := [] for i in 0..SIZE array.push(state, false) array.push(state, true) print_state(state) for i in 0..SIZE state = rule110_step(state) print_state(state) array.free(state)