Йота и Джот
Парадигмы | Формальный язык , Тьюринговский туман , эзотерический |
---|---|
Разработано | Крис Баркер |
Разработчик | Крис Баркер |
Впервые появился | 2001 год |
Финальный выпуск | 2001 г.
/ 2001 |
Язык реализации | Схема , JavaScript |
Платформа | Интерпретатор схем, веб-браузер (JavaScript) |
Лицензия | Общественное достояние |
Веб-сайт | www |
Под влиянием | |
Зот |
В формальной теории языка и Йота информатике и Йот ( от греческого йота ι, еврейский йод י, самые маленькие буквы в этих двух алфавитах) представляют собой языки, чрезвычайно минималистские формальные системы , спроектированные так, чтобы быть даже более простыми, чем другие более популярные альтернативы, такие как лямбда-исчисление и комбинаторное исчисление SKI . Таким образом, их также можно считать минималистическими языками компьютерного программирования , или «тарпитами Тьюринга» , эзотерическими языками программирования, разработанными так, чтобы быть как можно меньшими, но при этом полными по Тьюрингу . Обе системы используют только два символа и включают только две операции. Оба были созданы профессором лингвистики Крисом Баркером в 2001 году. Zot (2002) является преемником Iota, поддерживающим ввод и вывод. [1]
Обратите внимание, что в этой статье для описания синтаксиса используется форма Бэкуса-Наура .
Универсальная йота [ править ]
Универсальный комбинатор йоты Криса Баркера ι имеет очень простую структуру λf.fSK, определенную здесь, с использованием денотационной семантики в терминах лямбда-исчисления :
( 1 ) |
Отсюда можно восстановить обычные выражения SKI , таким образом:
( 2 ) |
Из-за своего минимализма он повлиял на исследования постоянной Чайтина . [2]
Йота [ править ]
Iota - это язык LL(1) , который префиксирует деревья порядков вышеупомянутых листьев универсального комбинатора iota ι , которые создаются с помощью функции ε ,
iota = "1" | "0" iota iota
так что, например, 0011011 обозначает , тогда как 0101011 обозначает .
Йот [ править ]
Jot — регулярный язык, состоящий из всех последовательностей 0 и 1,
jot = "" | jot "0" | jot "1"
Семантика задается переводом в выражения SKI. Пустая строка обозначает , обозначает , где это перевод , и обозначает .
Суть дело в том, что перевод удовлетворяет для произвольных условий SKI и . Например,
Джот связан с Йотой тем, что и используя те же тождества в терминах SKI для получения базовых комбинаторов и .
Они [ править
Языки Zot и Positive Zot управляют Iota вычислениями , от входных данных к выходным, используя стиль передачи продолжения , с синтаксисом , напоминающим Jot .
zot = pot | ""
pot = iot | pot iot
iot = "0" | "1"
где 1 производит продолжение , и 0 производит продолжение , и wi потребляет последнюю входную цифру i, продолжая выполнение продолжения w .
См. также [ править ]
Ссылки [ править ]
- ^ Баркер, Крис. «Зот» . Вебринг «Эзотерические языки программирования» . Архивировано из оригинала 12 марта 2016 года . Проверено 4 октября 2016 г.
- ^ Останься, Майкл (август 2005 г.). «Очень простые чайтиновые машины для бетона AIT» . Фундамента информатики . 68 (3). ИОС Пресс: 231–247. arXiv : cs/0508056 . Бибкод : 2005cs........8056S . Проверено 20 февраля 2011 г.
Внешние ссылки [ править ]
- Официальный сайт
- Баркер, Крис. «Йота и Йот: простейшие языки?» . Вебринг «Эзотерические языки программирования» . Архивировано из оригинала 23 августа 2016 года . Проверено 13 августа 2004 г.
- https://esolangs.org/wiki/Iota
- https://esolangs.org/wiki/Jot
- https://esolangs.org/wiki/Zot