Jota i Jot
Paradygmaty | Język formalny , Tarpit Turinga , ezoteryczny |
---|---|
Zaprojektowany przez | Chrisa Barkera |
Deweloper | Chrisa Barkera |
Po raz pierwszy pojawiły się | 2001 |
Ostateczne wydanie | 2001 / 2001
|
Język implementacji | Schemat , JavaScript |
Platforma | Interpreter schematów, przeglądarka internetowa (JavaScript) |
Licencja | Domena publiczna |
Strona internetowa | |
Pod wpływem | |
Zota |
W teorii języka formalnego i informatyce , jota i jot (z greckiego iota ι , hebr . rachunek lambda i rachunek kombinacyjny SKI . Tym samym można je również uznać za minimalistyczne języki programowania komputerowego lub tarpity Turinga , ezoteryczne języki programowania zaprojektowane tak, aby były jak najmniejsze, ale wciąż kompletne w Turingu . Oba systemy używają tylko dwóch symboli i obejmują tylko dwie operacje. Oba zostały stworzone przez profesora lingwistyki Chrisa Barkera w 2001 roku. Zot (2002) jest następcą Iota, który obsługuje wejście i wyjście.
Zauważ, że w tym artykule użyto formy Backusa-Naura do opisania składni.
Jota uniwersalna
Uniwersalny kombinator jota Chrisa Barkera ι ma zdefiniowaną tutaj bardzo prostą strukturę λf.fSK, używającą semantyki denotacyjnej w kategoriach rachunku lambda ,
-
()
Z tego można odzyskać zwykłe wyrażenia SKI , a więc:
-
()
Ze względu na swój minimalizm wpłynął na badania dotyczące stałej Chaitina .
Odrobina
Iota to język LL(1) , który prefiksuje drzewa rzędów wspomnianych liści uniwersalnego kombinatora jota ι , konsekwencją zastosowania funkcji ε ,
jota = "1" | „0” jota jota
więc na przykład 0011011 oznacza , podczas gdy 0101011 oznacza .
Krztyna
Jot jest językiem regularnym składającym się ze wszystkich sekwencji 0 i 1,
jot = "" | kropka „0” | kropka „1”
Semantyka jest nadawana przez tłumaczenie na wyrażenia SKI. Pusty ciąg oznacza gdzie ( , gdzie jest tłumaczeniem i oznacza .
przypadku jest to, że tłumaczenie spełnia dla dowolnych terminów SKI i . Na przykład,
Jot jest połączony z Iota przez fakt, że i używając tych samych tożsamości na warunkach SKI w celu uzyskania podstawowych kombinatorów i .
Zot
Języki Zot i Positive Zot wykonują obliczenia Iota , od wejść do wyjść w stylu przekazywania kontynuacji , w składni przypominającej Jot ,
zot = garnek | "" garnek = jot | pot jot jot = "0" | „1”
0 gdzie 1 daje kontynuację i tworzy kontynuację i wi zużywa ostatnią cyfrę wejściową i kontynuując przez kontynuację w .
Zobacz też
Linki zewnętrzne
- Oficjalna strona internetowa
- Barker, Chris. „Jota i Jot: najprostsze języki?” . Ezoteryczne języki programowania Webring . Zarchiwizowane od oryginału w dniu 7 maja 2016 r . Źródło 13 sierpnia 2004 .
- https://esolangs.org/wiki/Iota
- https://esolangs.org/wiki/Jot
- https://esolangs.org/wiki/Zot