ecaxpr
ecaxpr
is a tiny, declarative, expressions and predicate logic-based language for elementary cellular automata simulation.
There are a total of only 256 distinct elementary cellular automata. We can refer to each of them via a number from 0 to 255 by representing their state evaluation tables as bits. However, ecaxpr
represents their rules not by just a simple number, but as a logical formula. This provides a distinct way of experimenting with and thinking about these cellular automata.
Here, an expression like
l == ~(r | t)
***************#*************** 15
becomes...
***************#***************
**************###**************
*************##**#*************
************##*####************
***********##**#***#***********
**********##*####*###**********
*********##**#****#**#*********
********##*####**######********
*******##**#***###*****#*******
******##*####*##**#***###******
*****##**#****#*####*##**#*****
****##*####**##*#****#*####****
***##**#***###**##**##*#***#***
**##*####*##**###*###**##*###**
*##**#****#*###***#**###**#**#*
##*####**##*#**#*#####**#######