Algebraic data type
subject: Category:Type theory
wiki page history link: http://en.wikipedia.org/w/index.php?title=Algebraic_data_type&action=history
wiki page length: 14182
subject: Category:Data types
wiki page revision ID: 763558354
comment: In computer programming, especially functional programming and type theory, an algebraic data type is a kind of composite type, i.e., a type formed by combining other types.Two common classes of algebraic types are product types (i.e., tuples and records) and sum types, also called tagged or disjoint unions or variant types.The values of a product type typically contain several values, called fields. All values of that type have the same combination of field types.
abstract: In computer programming, especially functional programming and type theory, an algebraic data type is a kind of composite type, i.e., a type formed by combining other types.Two common classes of algebraic types are product types (i.e., tuples and records) and sum types, also called tagged or disjoint unions or variant types.The values of a product type typically contain several values, called fields. All values of that type have the same combination of field types. The set of all possible values of a product type is the set-theoretic product, i.e., the Cartesian product, of the sets of all possible values of its field types.The values of a sum type are typically grouped into several classes, called variants. A value of a variant type is usually created with a quasi-functional entity called a constructor. Each variant has its own constructor, which takes a specified number of arguments with specified types. The set of all possible values of a sum type is the set-theoretic sum, i.e., the disjoint union, of the sets of all possible values of its variants. Enumerated types are a special case of sum types in which the constructors take no arguments, as exactly one value is defined for each constructor.Values of algebraic types are analyzed with pattern matching, which identifies a value by its constructor or field names and extracts the data it contains.Algebraic data types were introduced in Hope, a small functional programming language developed in the 1970s at Edinburgh University.
wiki page revision link: http://en.wikipedia.org/w/index.php?title=Algebraic_data_type&oldid=763558354
wiki page out degree: 72
wiki page edit link: http://en.wikipedia.org/w/index.php?title=Algebraic_data_type&action=edit
wiki page ID: 283867
subject: Category:Functional programming
wiki page modified: 2017-02-03T22:30:21Z
subject: Category:Composite data types
subject: Category:Articles with example Haskell code

Algebraic data type
language: en
type: Document
primary topic: Algebraic data type
contributor: Nick Number

Nick Number
contributor ID: 1526960