#cellular-automata #dsl #rule30

bin+lib ecaxpr

Tiny expressions-based language for elementary cellular automata simulation

2 releases

Uses new Rust 2024

0.1.1 Oct 4, 2025
0.1.0 Oct 3, 2025

#237 in Simulation

30 downloads per month

MIT license

16KB
421 lines

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 formulae. This provides a distinct way of experimenting with and thinking about these cellular automata.

Here, an expression such as

l == ~(r | t)

***************#*************** 15

becomes...

***************#***************
**************###**************
*************##**#*************
************##*####************
***********##**#***#***********
**********##*####*###**********
*********##**#****#**#*********
********##*####**######********
*******##**#***###*****#*******
******##*####*##**#***###******
*****##**#****#*####*##**#*****
****##*####**##*#****#*####****
***##**#***###**##**##*#***#***
**##*####*##**###*###**##*###**
*##**#****#*###***#**###**#**#*
##*####**##*#**#*#####**#######

Install, Get Started, Get Docs

For installation instructions, documentation and a guide, you may refer to different sections of The ecaxpr Book.

Dependencies

~140KB