Русская Википедия:Низший тип

Материал из Онлайн справочника
Версия от 13:58, 30 августа 2023; EducationBot (обсуждение | вклад) (Новая страница: «{{Русская Википедия/Панель перехода}} '''Низший тип''' (''нулевой тип'', ''пустой тип'') — объект, использующийся в некоторых теориях типов и языках программирования, соответствующий типу без значений. Стандартное мат...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Низший тип (нулевой тип, пустой тип) — объект, использующийся в некоторых теориях типов и языках программирования, соответствующий типу без значений. Стандартное математическое обозначение — Шаблон:Нп5 (<math>\bot</math>). В рамках соответствия Карри — Ховарда низший тип соответствует логической ложной формуле.

В системах, предусматривающих подтипы, низший тип является подтипом всех типов[1]; при этом обратное может быть неверно — в некоторых вариантах подтип всех типов не обязательно будет низшим. В некоторых системах типов вводится двойственное понятие — высший тип, охватывающий все возможные значения в системе.

В программировании низший тип в качестве возвращаемого значения функции часто используется чтобы показать расходимость функции: когда функция не возвращает никаких результатов вызывающей стороне. Поддерживаются в Haskell (начиная с версии 2010), Common Lisp (символ NIL), Scala (Nothing; также используется для ковариантности параметризованных типов), Rust (экспериментальный тип данных, обозначаемый как !; присутствует в сигнатуре функций, которые гарантированно не возвращают значений, например, при вызове panic!() или бесконечном цикле, и как возвращаемый тип для операторов потока управления, таких как break и return)[2], Ceylon (Nothing)[3], Julia (Union{})[4], TypeScript (never)[5][6], JavaScript с аннотациями Шаблон:Нп5 (!Null), PHP (never), Python (typing.NoReturn или typing.Never)[7], Kotlin (Nothing)[8], Elm (Never)[9], D (noreturn)[10].

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Типы данных Шаблон:Языки программирования