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

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

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

Играют важную роль в языках семейства ML, таких как Standard ML, OCaml6.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.", HaskellGabriel Gonzalez, Sum Types / School of Haskell. To infinity and beyond. Pick of the Week и других.

Примечания

Категория:Типы данных Категория:Теория типов