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

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

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

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

Примечания

править
  1. 6.2 Sum types - CHAPTER 6. USER-DEFINED TYPES Архивная копия от 4 марта 2016 на Wayback Machine / 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 Архивная копия от 12 августа 2015 на Wayback Machine / School of Haskell. To infinity and beyond. Pick of the Week  (англ.)


pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy