The name 2iota, like the names of beta-Juliet and Portia, comes from a "alphabetical" pun on the name of a make of car. It is pronounced /too-eye-OH-tah/.
A 2iota program consists of a set of events. Each event is named by a string of one or more symbols and optionally a pattern. Each event also names what events it causes in a chain reaction.
A program can also define one or more finite alphabets. If the symbols in the name of an event are members of an alphabet, they can be 'incremented' and 'decremented'.
The following program implements a 1Hz "clock":
event Oscillator goes High, causes Oscillator goes Low after 0.5 s; event Oscillator goes Low, causes Oscillator goes High after 0.5 s.
Unlike beta-Juliet (which lacked patterns) and Portia (which allowed only a finite expansion of patterns), 2iota allows a technique something like Gödel numbering to construct names of events; in this manner concepts such as an (unboundedly) "next" event can be named, as illustrated in the following example.
alphabet DominoNumber, One, Two, Three, Four, Five, Six, Seven; event Begin, causes Domino One Falls; event Domino (N = DominoNumber+) Falls, causes Domino (succ N) Falls.