The `CHAOS`

operator will provide a new source of uncertainty to the teletype via chaotic, yet deterministic systems.

Here is a progression of the Logistic Map, which devolves into chaos past certain parameter values.

I haven’t put my nose to the grindstone on this operator, so before I start, I’ll put the usual design questions in play.

Given the number of potential chaotic implementations, I wonder what limitations we should set on

- operator parameter count
- access to hidden variables, and count

as well as the usual operator questions:

- name (
`CHAOS`

) - alias (
`&`

?`$`

? Surely the language won’t be complex enough to need*both*for something clever.)

And, if anyone wants to suggest algorithms to implement, I’m happy to hear them. Some links were shared in the other thread, but I should be able to implement anything that relies on only arithmetic and `sin()`

and `cos()`

. I’m interested in knowing what an algorithm is useful for, more than anything.

### Algorithm Candidates

While we don’t have to stick to only one algorithm, we should probably limit the set to a small, useful set.

- Logistic map (1 parameter, 1 constant, 1 dimension)
- Cubic map (1, 1, 1)
- Henon map (2, 1, 2)
- Cellular Automata (1, 1, 1)

### Tentative Syntax

```
CHAOS | get next chaotic value
CHAOS 5000 | set current value to 0.5
CHAOS 15000 | set current value to 1.5
CHAOS -12500 | set current value to -1.25
CHAOS.R 5000 | set chaos parameter to half of range
CHAOS.ALG | get current algorithm
CHAOS.ALG 0 | select LOGISTIC
CHAOS.ALG 1 | select CUIBIC
CHAOS.ALG 2 | select HENON
```

## Cellular Automata

Given the difference in parameter and value type, this algorithm should be spun off into a new operator.

### Tentative Syntax

```
CA.R 123 | select rule 123
CA 63 | set current value to 63
CA | get next value
```