fbpx
Wikipedia

Iota and Jot

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.[1]

Iota, Jot, Zot
ParadigmsFormal language, Turing tarpit, esoteric
Designed byChris Barker
DeveloperChris Barker
First appeared2001; 23 years ago (2001)
Final release
2001 / 2001; 23 years ago (2001)
Implementation languageScheme, JavaScript
PlatformScheme interpreter, Web browser (JavaScript)
LicensePublic domain
Websitewww.nyu.edu/projects/barker
Influenced
Zot

Note that this article uses Backus-Naur form to describe syntax.

Universal iota edit

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

 

 

 

 

 

(1)

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

 

 

 

 

 

(2)

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

Iota edit

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

iota = "1" | "0" iota iota 

so that for example 0011011 denotes  , whereas 0101011 denotes  .

Jot edit

Jot is the regular language consisting of all sequences of 0 and 1,

jot = "" | jot "0" | jot "1" 

The semantics is given by translation to SKI expressions. The empty string denotes  ,   denotes  , where   is the translation of  , and   denotes  .

The point of the   case is that the translation satisfies   for arbitrary SKI terms   and  . For example,

 
holds for arbitrary strings  . Similarly,
 
holds as well. These two examples are the base cases of the translation of arbitrary SKI terms to Jot given by Barker, making Jot a natural Gödel numbering of all algorithms.

Jot is connected to Iota by the fact that   and by using the same identities on SKI terms for obtaining the basic combinators   and  .

Zot edit

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

zot = pot | "" pot = iot | pot iot iot = "0" | "1" 

where 1 produces the continuation  , and 0 produces the continuation  , and wi consumes the final input digit i by continuing through the continuation w.

See also edit

References edit

  1. ^ Barker, Chris. . The Esoteric Programming Languages Webring. Archived from the original on 12 March 2016. Retrieved 4 October 2016.
  2. ^ Stay, Michael (August 2005). "Very Simple Chaitin Machines for Concrete AIT". Fundamenta Informaticae. IOS Press. 68 (3): 231–247. arXiv:cs/0508056. Bibcode:2005cs........8056S. Retrieved 20 February 2011.

External links edit

iota, formal, language, theory, computer, science, from, greek, iota, hebrew, yodh, smallest, letters, those, alphabets, languages, extremely, minimalist, formal, systems, designed, even, simpler, than, other, more, popular, alternatives, such, lambda, calculu. In formal language theory and computer science Iota and Jot from Greek iota i 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 1 Iota Jot ZotParadigmsFormal language Turing tarpit esotericDesigned byChris BarkerDeveloperChris BarkerFirst appeared2001 23 years ago 2001 Final release2001 2001 23 years ago 2001 Implementation languageScheme JavaScriptPlatformScheme interpreter Web browser JavaScript LicensePublic domainWebsitewww wbr nyu wbr edu wbr projects wbr barkerInfluencedZotNote that this article uses Backus Naur form to describe syntax Contents 1 Universal iota 2 Iota 3 Jot 4 Zot 5 See also 6 References 7 External linksUniversal iota editChris Barker s universal iota combinator i has the very simple lf fSK structure defined here using denotational semantics in terms of the lambda calculus i l f f S K l f f l a l b l c a c b c l d l e d displaystyle iota lambda f fS K lambda f f lambda a lambda b lambda c ac bc lambda d lambda e d nbsp 1 From this one can recover the usual SKI expressions thus I i i K i i i i S i i i i i displaystyle I iota iota K iota iota iota iota S iota iota iota iota iota nbsp 2 Because of its minimalism it has influenced research concerning Chaitin s constant 2 Iota editIota is the LL 1 language that prefix orders trees of the aforementioned Universal iota i combinator leafs consed by function application e iota 1 0 iota iota so that for example 0011011 denotes i i i i displaystyle iota iota iota iota nbsp whereas 0101011 denotes i i i i displaystyle iota iota iota iota nbsp Jot editJot is the regular language consisting of all sequences of 0 and 1 jot jot 0 jot 1 The semantics is given by translation to SKI expressions The empty string denotes I displaystyle I nbsp w 0 displaystyle w0 nbsp denotes w S K displaystyle w S K nbsp where w displaystyle w nbsp is the translation of w displaystyle w nbsp and w 1 displaystyle w1 nbsp denotes S K w displaystyle S K w nbsp The point of the w 1 displaystyle w1 nbsp case is that the translation satisfies w 1 A B w A B displaystyle w1 A B w AB nbsp for arbitrary SKI terms A displaystyle A nbsp and B displaystyle B nbsp For example w 11100 w 1110 S K w 111 S K S K w 11 S K S K w 1 S K S K w S K S K w K displaystyle w11100 w1110 S K w111 S K S K w11 SK S K w1 SK S K w SK S K w K nbsp holds for arbitrary strings w displaystyle w nbsp Similarly w 11111000 w 11111 S K S K S K w S K S K S K w S displaystyle w11111000 w11111 S K S K S K w SK S K S K w S nbsp holds as well These two examples are the base cases of the translation of arbitrary SKI terms to Jot given by Barker making Jot a natural Godel numbering of all algorithms Jot is connected to Iota by the fact that w 0 i w displaystyle w0 iota w nbsp and by using the same identities on SKI terms for obtaining the basic combinators K displaystyle K nbsp and S displaystyle S nbsp Zot editThe Zot and Positive Zot languages command Iota computations from inputs to outputs by continuation passing style in syntax resembling Jot zot pot pot iot pot iot iot 0 1 where 1 produces the continuation l c L L l l R R l r c l r displaystyle lambda cL L lambda lR R lambda r c lr nbsp and 0 produces the continuation l c c i displaystyle lambda c c iota nbsp and wi consumes the final input digit i by continuing through the continuation w See also editLambda calculus Combinatory logic Binary combinatory logic SKI combinator calculusReferences edit Barker Chris Zot The Esoteric Programming Languages Webring Archived from the original on 12 March 2016 Retrieved 4 October 2016 Stay Michael August 2005 Very Simple Chaitin Machines for Concrete AIT Fundamenta Informaticae IOS Press 68 3 231 247 arXiv cs 0508056 Bibcode 2005cs 8056S Retrieved 20 February 2011 External links editOfficial website Barker Chris Iota and Jot the simplest languages The Esoteric Programming Languages Webring Archived from the original on 23 August 2016 Retrieved 13 August 2004 https esolangs org wiki Iota https esolangs org wiki Jot https esolangs org wiki Zot Retrieved from https en wikipedia org w index php title Iota and Jot amp oldid 1171420747, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.