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
|