module for building rules.
{ from : Maybe state
, neighborhood : Dict direction state -> Basics.Bool
, to : Maybe state
}
A Rule specifies how a given cell should change based on its neighbors.
fromNothing : Rule direction state
Only empty cells should be effected.
from : state -> Rule direction state
Which cell is effected?
withNeighborhood : (Dict direction state -> Basics.Bool) -> Rule direction state -> Rule direction state
How do the neighbors look like?
to : state -> Rule direction state -> Rule direction state
What should the cell turn into?
toNothing : Rule direction state -> Rule direction state
The content of the cell will be removed