Зависимый тип
Зависимый тип () в информатике и логике — тип, который зависит от некоторого значения. Зависимые типы играют ключевую роль в интуиционистской теории типов и построении функциональных языков программирования таких как ATS, Agda, и Idris.

К примеру, тип, описывающий "n"-кортежи действительных чисел, является зависимым, так как он «зависит» от величины "n".

Решение о равенстве зависимых типов в программе может потребовать вычислений. Если в зависимых типах допущено использование произвольных значений, то решение о равенстве типов может включать в себя проверку равенства результата работы двух произвольных программ. Таким образом, проверка типа становится неразрешимой задачей.

Изоморфизм Карри — Ховарда позволяет строить типы для выражения сколь угодно сложных математических свойств. Если предоставлено конструктивное доказательство того, что тип «заселён» (то есть, существует хотя бы одно значение этого типа), компилятор сможет проверить это доказательство и превратить его в исполняемый код, вычисляющий значение. Наличие проверки доказательств делает зависимо-типизированные языки схожими с программным обеспечением автоматизации доказательств (например, интерактивный доказатель теорем Coq).
Q21198
информатике
Concept
Q8078
логике
Concept
Q190087
тип
MISC
Q6059147
интуиционистской теории типов
UNK
Q193076
функциональных языков программирования
Concept
Q621618
ATS
MEDIA
Q20479
Agda
MEDIA
Q15408477
Idris
MEDIA
Q600590
кортежи
Concept
None
проверка типа
UNK
Q3502995
неразрешимой задачей
Concept
None
Изоморфизм Карри — Ховарда
UNK
Q1137814
конструктивное доказательство
Concept
Q1131652
Coq
MEDIA
Q997433
Зависимый тип
Concept
subclass of
programming paradigm
programming paradigm
programming paradigm