Тип-сумма

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Тип-сумма (англ. sum type; также Σ-тип, меченое объединение) — конструкция в языках программирования и интуиционистской теории типов[en], тип данных, построенный как дизъюнктное объединение исходных типов.

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

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

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

Примечания[править | править вики-текст]

  1. 6.2 Sum types - CHAPTER 6. USER-DEFINED TYPES / Functional programming using Caml Light  (англ.): "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 / School of Haskell. To infinity and beyond. Pick of the Week  (англ.)