Jump to content

Правило ввода

В теории типов правило типизации — это правило вывода , которое описывает, как система типов присваивает тип синтаксической конструкции . [1] : 94  Эти правила могут применяться системой типов, чтобы определить, программа правильно ли типизирована и какие выражения типов имеют. Прототипическим вывода примером использования правил типизации является определение типа в просто типизированном лямбда-исчислении , которое является внутренним языком декартовых замкнутых категорий . [2]

Обозначения

[ редактировать ]

Правила типизации определяют структуру типизации отношения , которое связывает синтаксические термины с их типами. [1] : 92  Синтаксически отношение типизации обычно обозначается двоеточием, например означает, что выражение имеет тип . Сами правила обычно задаются с использованием обозначения естественного вывода . [1] : 26  Например, следующие правила типизации определяют отношение типизации для простого языка логических значений : [1] : 93 

Каждое правило гласит, что вывод под чертой может быть выведен из посылок над чертой. Первые два правила не имеют посылок над чертой, поэтому являются аксиомами . Третье правило имеет помещения над линией (точнее, три посылки), поэтому это правило вывода .

В языках программирования тип переменной зависит от того, где она привязана , что требует применения контекстно-зависимых правил типизации. Эти правила определяются типичным решением , обычно записываемым , который утверждает, что выражение имеет тип в контексте набора текста который связывает переменные с их типами. Контексты ввода иногда дополняются типами отдельных переменных; например, можно прочитать как «контекст дополнено информацией о том, что выражение имеет тип приводит к выводу, что выражение имеет тип ". Эту запись можно использовать для указания правил типизации для ссылок на переменные и лямбда-абстракции в просто типизированном лямбда-исчислении : [1] : 101–102 

Аналогично, следующее правило типизации описывает конструкция стандартного ML :

Не все системы правил типизации напрямую определяют алгоритм проверки типов . Например, правило типизации для применения параметрически полиморфной функции в системе типов Хиндли-Милнера требует «угадывания» соответствующего типа, для которого должна быть создана функция. [3] Адаптация декларативной системы правил к разрешимому алгоритму требует создания отдельной алгоритмической системы, которая, как можно доказать, определяет то же самое отношение типизации. [4]

См. также

[ редактировать ]
  1. ^ Jump up to: а б с д и Пирс, Бенджамин К. (2002). Типы и языки программирования (1-е изд.). Кембридж, Массачусетс: MIT Press. ISBN  0262162091 .
  2. ^ Баэз, Джон. «Кафе n-Категория» . golem.ph.utexas.edu . Проверено 30 сентября 2022 г.
  3. ^ Клеман, Доминик; Десперу, Тьерри; Кан, Жиль; Деспеиру, Жоэль (8 августа 1986 г.). «Простой аппликативный язык: Mini-ML» . Материалы конференции ACM 1986 года по LISP и функциональному программированию - LFP '86 (PDF) . Ассоциация вычислительной техники. стр. 13–27. дои : 10.1145/319838.319847 . ISBN  0897912004 . S2CID   5126579 .
  4. ^ Данфилд, Яна; Кришнасвами, Нил (23 мая 2021 г.). «Двунаправленная печать» . Обзоры вычислительной техники ACM . 54 (5): 98:19. arXiv : 1908.05839 . дои : 10.1145/3450952 . ISSN   0360-0300 . S2CID   201058734 .

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 30da7fb6462600a29bdc021b87cac24b__1704321120
URL1:https://arc.ask3.ru/arc/aa/30/4b/30da7fb6462600a29bdc021b87cac24b.html
Заголовок, (Title) документа по адресу, URL1:
Typing rule - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)