We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
Sigma Cortex
| Paradigm(s) | Unknown |
|---|---|
| Designed by | User:Hakerh400 |
| Appeared in | 2026 |
| Computational class | Bounded storage machine |
| Major implementations | Implemented |
| File extension(s) | .txt |
Sigma Cortex is an esolang invented by User:Hakerh400 in 2026.
Overview
Memory consists of a finite set of variables. Each variable represents a real number between -1 and 1. Each line in the source code represents an assignment to a variable. For example:
x := 3x - 5 y := 2x + 0.75y + z z := 2y + x - r + 1
Assignment is represented by variable name, then :=, and after that an expression consisting of variables and rational multipliers. Each variable can have at most one assignment. Variables that have no assignemt represent the input variables. Internal variables are the ones that have assignemnts in the source code. In this example, internal variables are x, y, z, while the only input variable is r.
Initially, all internal variables start at 0. Interpreter updates assignments in a loop. It takes a snapshot of the old assignment of all variables, and for each assignemnt, computes hyperbolic tan function of the evaluated expression based on old assignment. For example, in the next iteration we will have:
x_new := tanh(3 * x_old - 5) y_new := tanh(2 * x_old + 0.75 * y_old + z_old) z_new := tanh(2 * y_old + x_old - r_old + 1)
The order of assignments in the source code does not matter.
Examples
Constant 0
x := 0
Since tanh(0) = 0, variable x remains 0.
Constant 1
x := 100
It is impossible to represent 1 exactly, but we can get very close to 1. The value of tanh(100) is close enough to 1 for all practical purposes. If we want -1, we would use -100.
Simple oscillator
x := -100x + 1
Variable x oscillates between 1 and -1. Without the + 1, it would remain 0.
4-step oscillator
x := -100y + 1 y := 100x
This system oscillates with period 4.
Game of Life
Implementation. It uses 4 variables to represent a single GoL cell and uses 2 iterations to simulate a single GoL iteration.
Fixpoint
a := 1.05 * (0.9998 * a - 0.0199987 * b) + 0.01 b := 1.05 * (0.0199987 * a + 0.9998 * b)
This system transforms slowly, but eventually reaches a fixpoint (tends to a fixpoint; can't reach exactly).