Русская Википедия:Тип-сумма

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Перевести Тип-сумма (Шаблон:Lang-en; также Шаблон:Math-тип, меченое объединение) — конструкция в языках программирования и интуиционистской теории типов, тип данных, построенный как дизъюнктное объединение исходных типов.

Наряду с типом-произведением является одной из важнейших форм алгебраического типа данных и одним из способов конструирования типов в интуиционистской теории типов и её вариантах. Перечисляемый тип может быть рассмотрен как вырожденная форма типа-суммы — размеченное объединение Шаблон:Нп2.

С точки зрения изоморфизма Карри — Ховарда, сопоставляющего типы данных и конструктивные математические доказательства, тип-сумма соответствует логической дизъюнкции.

Играют важную роль в языках семейства ML, таких как Standard ML, OCaml[1], Haskell[2] и других.

Примечания

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


Шаблон:Типы данных

Шаблон:Rq

  1. 6.2 Sum types - CHAPTER 6. USER-DEFINED TYPES Шаблон:Wayback / Functional programming using Caml Light Шаблон:Ref-en: "A sum type is the finite labeled disjoint union of several types. A sum type definition defines a type as being the union of some other types."
  2. Gabriel Gonzalez, Sum Types Шаблон:Wayback / School of Haskell. To infinity and beyond. Pick of the Week Шаблон:Ref-en