Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В формальном языке теории и информатики , Йота и Jot (от грека йота ι, Hebrew yodh י, самые маленькие буквы в этих двух алфавитов) языки, крайне минималистичные формальные системы , разработанные , чтобы быть еще проще , чем в других популярных альтернатив, таких как лямбда - исчисление и SKI комбинатор исчисление . Таким образом, их также можно считать минималистскими языками компьютерного программирования или тьюринговыми тарпитами , эзотерическими языками программирования, призванными быть как можно меньшими , но все жеПолный по Тьюрингу . Обе системы используют только два символа и включают только две операции. Оба были созданы профессором лингвистики Крисом Баркером в 2001 году. Zot (2002) является преемником Iota, который поддерживает ввод и вывод. [1]

Универсальная йота [ править ]

Универсальный комбинатор йоты ι Криса Баркера имеет очень простую структуру λf.fSK, определенную здесь с использованием денотационной семантики в терминах лямбда-исчисления ,

Отсюда можно восстановить обычные выражения SKI , таким образом:

Из-за своего минимализма он повлиял на исследования постоянной Чайтина . [2]

Йота [ править ]

Йота является LL (1) языка, префиксы упорядочивают дерева вышеупомянутого Юниверсала йота ι комбинатор Лифс, consed по функции приложения е ,

iota =  "1"  |  "0"  йота йота

так что например 0011011 обозначает , тогда как0101011 обозначает .

Jot [ править ]

Jot - это обычный язык, состоящий из всех последовательностей 0 и 1,

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

Семантика задается переводом в выражения SKI. Пустая строка обозначает , обозначает , где перевод , и обозначает .

Дело в том, что перевод удовлетворяет произвольным условиям SKI и . Например,

выполняется для произвольных строк . По аналогии,
тоже держит. Эти два примера являются базовыми случаями перевода произвольных терминов SKI в Jot, данного Баркером, что делает Jot естественной геделевской нумерацией всех алгоритмов .

Jot связан с Iota тем, что и с помощью одних и тех же идентификаторов на условиях SKI для получения базовых комбинаторов и .

Zot [ править ]

Языки Zot и Positive Zot управляют вычислениями Iota , от входов до выходов с использованием стиля передачи продолжения , в синтаксисе, напоминающем Jot ,

zot =  горшок |  "" pot =  iot |  pot iot iot =  "0"  |  «1»

где 1 производит продолжение , а0 производит продолжение , а wi потребляет последнюю входную цифру i , продолжая до конца w .

См. Также [ править ]

  • Лямбда-исчисление
  • Комбинаторная логика
  • Бинарная комбинаторная логика
  • Расчет комбинатора SKI

Ссылки [ править ]

  1. ^ Баркер, Крис. «Зот» . Веб-кольцо эзотерических языков программирования . Архивировано из оригинального 12 марта 2016 года . Проверено 4 октября 2016 года .
  2. Останься, Майкл (август 2005 г.). «Очень простые машины Chaitin для бетона AIT» . Fundamenta Informaticae . IOS Press. 68 (3): 231–247 . Проверено 20 февраля 2011 года .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Баркер, Крис. «Йота и Джот: самые простые языки?» . Веб-кольцо эзотерических языков программирования . Архивировано из оригинального 7 -го мая 2016 года . Проверено 13 августа 2004 года .
  • https://esolangs.org/wiki/Iota
  • https://esolangs.org/wiki/Jot
  • https://esolangs.org/wiki/Zot