Iota och Jot
Paradigm | Formellt språk , Turing tarpit , esoteriskt |
---|---|
Designad av | Chris Barker |
Utvecklare | Chris Barker |
Dök först upp | 2001 |
Slutlig utgåva | 2001 / 2001
|
Implementeringsspråk | Scheme , JavaScript |
Plattform | Schematolk, webbläsare (JavaScript) |
Licens | Allmängods |
Hemsida | |
Influerade | |
Zot |
Inom formell språkteori och datavetenskap är Iota och Jot (från grekiska iota ι, hebreiska yodh י, de minsta bokstäverna i dessa två alfabet) språk, extremt minimalistiska formella system , designade för att vara ännu enklare än andra mer populära alternativ, som t.ex. lambdakalkylen och SKI kombinatorkalkylen . Således kan de också betraktas som minimalistiska datorprogrammeringsspråk , eller Turing tarpits , esoteriska programmeringsspråk designade för att vara så små som möjligt men ändå Turing-kompletta . Båda systemen använder bara två symboler och involverar endast två operationer. Båda skapades av professorn i lingvistik Chris Barker 2001. Zot (2002) är en efterföljare till Iota som stöder input och output.
Observera att den här artikeln använder Backus-Naur-formen för att beskriva syntax.
Universal iota
Chris Barkers universella jota-kombinator ι har den mycket enkla λf.fSK-strukturen definierad här, med hjälp av denotationssemantik i termer av lambdakalkylen ,
-
()
Från detta kan man återställa de vanliga SKI-uttrycken , således:
-
()
På grund av dess minimalism har den påverkat forskningen om Chaitins konstanta .
Iota
Iota är LL(1) -språket som prefix ordnar träden för de ovannämnda Universal jota ι kombinatorbladen, koncentrerad av funktionsapplikationen ε ,
iota = "1" | "0" jota jota
så att till exempel 0011011 betecknar , medan 0101011 betecknar .
Anteckna
Jot är det vanliga språket som består av alla sekvenser av 0 och 1,
jot = "" | ange "0" | anteckna "1"
Semantiken ges genom översättning till SKI-uttryck. Den tomma strängen betecknar , betecknar , där är översättningen av , och betecknar .
Poängen med -fallet är att översättningen uppfyller för godtyckliga SKI-termer och . Till exempel,
Jot är kopplat till Iota genom att och genom att använda samma identiteter på SKI-termer för att erhålla de grundläggande kombinatorerna och .
Zot
Språken Zot och Positiva Zot beordrar Iota -beräkningar , från ingångar till utgångar genom fortsättningsöverförande stil , i syntax som liknar Jot ,
zot = pott | "" pott = iot | pot iot iot = "0" | "1"
0 där 1 ger fortsättningen och producerar fortsättningen , och wi förbrukar den sista inmatade siffran i genom att fortsätta genom fortsättningen w .
Se även
externa länkar
- Officiell hemsida
- Barker, Chris. "Iota och Jot: de enklaste språken?" . Webringen för esoteriska programmeringsspråk . Arkiverad från originalet den 7 maj 2016 . Hämtad 13 augusti 2004 .
- https://esolangs.org/wiki/Iota
- https://esolangs.org/wiki/Jot
- https://esolangs.org/wiki/Zot