MarkovJunior is a probabilistic programming language where programs are combinations of rewrite rules and inference is performed via constraint propagation. MarkovJunior is named after mathematician Andrey Andreyevich Markov, who defined and studied what is now called Markov algorithms. In its basic form, a MarkovJunior program is an ordered list of rewrite rules. For example, MazeBacktracker (ani