Iota i Jot
Szablon:Język programowania infobox Iota i Jot – w teorii języka formalnego i w informatyce Iota i Jot (od greckiej litery jota ι, oraz od hebrajskiej litery jod י, najmniejszych liter w obu alfabetach) są językami programowania, będącymi niezwykle minimalistycznymi systemami formalnymi, zaprojektowanymi tak, aby były jeszcze prostsze niż inne, bardziej popularne alternatywy, takie, jak rachunek lambda i rachunek kombinatorów SKI. W związku z tym można je również uznać za minimalistyczne komputerowe języki programowania lub smolne dziury Turinga czy też ezoteryczne języki programowania zaprojektowane tak, aby były jak najmniejsze, ale nadal spełniające kompletność Turinga.
Oba systemy programistyczne używają tylko dwóch symboli i obejmują tylko dwie operacje. Oba też zostały stworzone przez profesora językoznawstwa, Chrisa Barkera w 2001 roku. Zot (2002), to następca języka Iota, który obsługuje wejście i wyjście[1].
Uniwersalny język Iota
Uniwersalny kombinator Iota Chrisa Barkera Szablon:Mvar ma bardzo prostą strukturę λf.fSK tu zdefiniowaną, poprzez wykorzystanie semantyki denotacyjnej na zasadach rachunku lambda:
Z tego można uzyskać zwykłe wyrażenia SKI, zatem:
Ze względu na swój minimalizm język Iota wpłynął na badania dotyczące stałej Chaitina[2].
Iota
Iota to język LL(1), którego drzewa porządku przedrostkowego wyżej wymienionych kombinatorowych liści uniwersalnego języka Iota oraz kombinatorowych liści Szablon:Mvar są skonstruowane przez aplikacje funkcji Szablon:Mvar:
iota = "1"|"0" iota iota
zatem przykładowo „0011011” oznacza natomiast „0101011” oznacza
Jot
Jot to język regularny,
jot = ""|jot "0"|jot "1"
gdzie oznacza natomiast oznacza więc „1100” oznacza natomiast „1000” oznacza i ulega redukcji do Szablon:Mvar uzyskując naturalną numerację Gödla dla wszystkich algorytmów.
Dowolna sekwencja 0 i 1 jest prawidłowym algorytmem Jot.
Zot
Języki Zot i Positive Zot zarządzają obliczeniami Iota z wejść do wyjść poprzez styl kontynuacji przejścia, dzięki składni naśladującej Jot:
zot = pot|""
pot = iot|pot iot
iot = "0"|"1"
gdzie „1” tworzy kontynuację i „0” tworzy kontynuację i Szablon:Mvar zużywa ostatnią cyfrę wejściową Szablon:Mvar działając nadal przez kontynuację Szablon:Mvar.