Generalized Algebraic Data Types

GPTKB entity

Statements (29)
Predicate Object
gptkbp:instanceOf type system concept
gptkbp:abbreviation gptkb:GADT
gptkbp:allows constructors to specify result types
gptkbp:category programming language theory
type system extension
gptkbp:contrastsWith regular algebraic data types
gptkbp:enables encoding invariants in types
type-indexed data structures
type-safe pattern matching
more precise type checking
gptkbp:features advanced type systems
gptkbp:field gptkb:logic
computer science
functional programming
https://www.w3.org/2000/01/rdf-schema#label Generalized Algebraic Data Types
gptkbp:introducedIn early 2000s
gptkbp:notableContributor gptkb:Simon_Peyton_Jones
gptkb:Mark_P._Jones
gptkb:Stephanie_Weirich
gptkb:Jean-Christophe_Filliâtre
gptkbp:notablePublication Simon Peyton Jones, "Simple unification-based type inference for GADTs"
gptkbp:relatedTo dependent types
algebraic data type
gptkbp:usedIn gptkb:Haskell
gptkb:OCaml
gptkb:Idris
gptkb:Scala
gptkbp:bfsParent gptkb:GADTs
gptkbp:bfsLayer 6