# Iota

From Esolang

**Iota** is a Turing tarpit designed by Chris Barker, based in combinatory logic. It uses only two symbols, `*`

and `i`

, but not every combination of them is syntactically correct; e.g. `*i*ii`

is correct but `*iii`

is not, as opposed to its "sister language" Jot in which every string of symbols is valid.

Iota can be defined as follows:

*ix --> **xsk **kxy --> x ***sxyz --> **xz*yz

Or, if you prefer:

i = λx.xsk k = λxy.x s = λxyz.xz(yz)

*xy where x and y are functions denotes the function (xy). These can be "nested", such that (for example) *x*yz denotes x(yz).

Only the i function and the * operator can actually appear in a program's source code.

## See also[edit]

- Jot, Iota's "sister language" from the same article
- Binary combinatory logic
- Lambda calculus