# ecaxpr
`ecaxpr` is a tiny, declarative, expressions and predicate logic-based language for elementary cellular automata simulation.
- [Tangled](https://tangled.org/@did:plc:h5uflu6cfdbvjsggusevvy6i/ecaxpr).
- [Crates.io](https://crates.io/crates/ecaxpr).
- [Book](https://ecaxpr-book.pages.dev/).
---
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
```
```
becomes...
```
***************#***************
**************###**************
*************##**#*************
************##*####************
***********##**#***#***********
**********##*####*###**********
*********##**#****#**#*********
********##*####**######********
*******##**#***###*****#*******
******##*####*##**#***###******
*****##**#****#*####*##**#*****
****##*####**##*#****#*####****
***##**#***###**##**##*#***#***
**##*####*##**###*###**##*###**
*##**#****#*###***#**###**#**#*
##*####**##*#**#*#####**#######
```
## Install, Get Started, Get Docs
For installation instructions, documentation and a guide, you may refer to different sections of **The ecaxpr Book**.
- [Installation](https://ecaxpr-book.pages.dev/install).
- [Getting Started](https://ecaxpr-book.pages.dev/guide).
- [Language Reference](https://ecaxpr-book.pages.dev/guide).