Harman Patil (Editor)

Iota and Jot

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Designed by
  
Chris Barker

Implementation language
  
Developer
  
Chris Barker

First appeared
  
2001; 16 years ago (2001)

Last release
  
2001 / 2001; 16 years ago (2001)

In formal language theory and computer science, Iota and Jot (from Greek iota ι, Hebrew yodh י, the smallest letters in those two alphabets) are languages, extremely minimalist formal systems, designed to be even simpler than other more popular alternatives, such as the lambda calculus and SKI combinator calculus. Thus, they can also be considered minimalist computer programming languages, or Turing tarpits, esoteric programming languages designed to be as small as possible but still Turing-complete. Both systems use only two symbols and involve only two operations. Both were created by professor of linguistics Chris Barker in 2001. Zot (2002) is a successor to Iota that supports input and output.

Contents

Universal iota

Chris Barker's universal iota combinator ι has the very simple λf.fSK structure defined here, using denotational semantics in terms of the lambda calculus,

From this, one can recover the usual SKI expressions, thus:

Because of its minimalism, it has influenced research concerning Chaitin's constant.

Iota

Iota is the LL(1) language that prefix orders trees of the aforementioned Universal iota ι combinator leafs, consed by function application ε,

so that for example 7004110110000000000♠0011011 denotes ( ( ι ι ) ( ι ι ) ) , whereas 7005101011000000000♠0101011 denotes ( ι ( ι ( ι ι ) ) ) .

Jot

Jot is the total regular language,

where the w 1 denote ( w ι ) whereas the w 0 denote ( ι w ) so that 7003110000000000000♠1100 denotes ( ι ι ) ( ι ι ) whereas 7003100000000000000♠1000 denotes ι ( ι ( ι ι ) and the 0 w reduce to Iw yielding a natural Gödel numbering of all algorithms.

Zot

The Zot and Positive Zot languages command Iota computations, from inputs to outputs by continuation-passing style, in syntax resembling Jot,

where 7000100000000000000♠1 produces the continuation λ c L . L ( λ l R . R ( λ r . c ( l r ) ) ) , and 5000000000000000000♠0 produces the continuation λ c . c ι , and wi consumes the final input digit i by continuing through the continuation w.

References

Iota and Jot Wikipedia


Similar Topics