Jump to content

Тип конструктора

В области математической логики и информатики, известной как теория типов , конструктор типов — это функция типизированного формального языка , которая создает новые типы из старых. базовые типы Считается, что создаются с использованием конструкторов нулевых типов. Некоторые конструкторы типов принимают в качестве аргумента другой тип, например, конструкторы для типов продуктов , типов функций , мощных типов и типов списков . Новые типы могут быть определены путем рекурсивного составления конструкторов типов.

Например, просто типизированное лямбда-исчисление можно рассматривать как язык с единственным конструктором небазового типа — конструктором функционального типа. Типы продуктов обычно можно считать «встроенными» в типизированных лямбда-исчислениях посредством каррирования .

Говоря абстрактно, конструктор типа — это n -арный оператор типа, принимающий в качестве аргумента ноль или более типов и возвращающий другой тип. Используя каррирование, операторы n- арного типа могут быть (пере)писаны как последовательность применений операторов унарного типа. Следовательно, мы можем рассматривать операторы типа как просто типизированное лямбда-исчисление, имеющее только один базовый тип, обычно обозначаемый и произносится как «тип», который является типом всех типов в базовом языке, которые теперь называются собственными типами , чтобы отличать их от типов операторов типов в их собственном исчислении, которые называются видами .

Операторы типа могут связывать переменные типа. Например, для задания структуры просто типизированного λ-исчисления на уровне типа требуются операторы связывания или операторы типов более высокого порядка. Эти операторы типа привязки соответствуют 2-й оси λ-куба и теориям типов, таким как просто типизированное λ-исчисление с операторами типа λ ω . Объединение операторов типа с полиморфным λ-исчислением ( Система F ) дает Систему F ω .

Некоторые языки функционального программирования явно используют конструкторы типов. Ярким примером является Haskell , в котором все data Считается, что объявления типов объявляют конструкторы типов, а базовые типы (или конструкторы нулевых типов) называются константами типов. [1] [2] Конструкторы типов также можно рассматривать как параметрические полиморфные типы данных .

См. также

[ редактировать ]
  1. ^ Марлоу, Саймон (апрель 2010 г.), «4.1.2 Синтаксис типов» , Отчет о языке Haskell 2010 , получено 15 августа 2023 г.
  2. ^ «Конструктор» . ХаскеллВики . Проверено 15 августа 2023 г.
  • Пирс, Бенджамин (2002). Типы и языки программирования . МТИ Пресс. ISBN  0-262-16209-1 . , глава 29, «Операторы типов и сортировка»
  • П.Т. Джонстон , «Зарисовки слона» , с. 940
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d9fa04ca6e2b0d536b9e9f010ac2fc12__1692116340
URL1:https://arc.ask3.ru/arc/aa/d9/12/d9fa04ca6e2b0d536b9e9f010ac2fc12.html
Заголовок, (Title) документа по адресу, URL1:
Type constructor - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)