Generalized Algebraic Data Types
GPTKB entity
Statements (29)
| Predicate | Object |
|---|---|
| gptkbp:instanceOf |
gptkb: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 |
| 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
|
| https://www.w3.org/2000/01/rdf-schema#label |
Generalized Algebraic Data Types
|