MarkovJunior
last updated: Oct 20, 2023
https://github.com/mxgmn/MarkovJunior
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 (animation on the left below) is a list of 2 rewrite rules:
RBB=GGR
or "replace red-black-black with green-green-red".RGG=WWR
or "replace red-green-green with white-white-red".
Very cool interactive examples; I don't understand it completely, but it helps in gaining a feel for the system at the very least.