The main module, from where the whole process is launched.
Defines how to run a Cellular Automaton, what to measure and when to measure it.
Implements reusable functions which aren't in the standard lib, as needs are encountered.
Creates the initial configuration and repartition.
Helper functions for the module Experiment.
Definition of the cellular automata
The way the transition rule is applied, see
Create the neighbourhoods according to different topologies.
Data types used everywhere in the code.