Statements (21)
| Predicate | Object |
|---|---|
| gptkbp:instanceOf |
gptkb:type_system_feature
|
| gptkbp:allows |
different result types for constructors
|
| gptkbp:contrastsWith |
regular algebraic data types
|
| gptkbp:describedBy |
Simon Peyton Jones et al. 2006 paper
|
| gptkbp:enables |
encoding invariants in types
more precise type definitions type-indexed data structures type-level programming type-safe pattern matching |
| gptkbp:features |
functional programming languages
dependently typed languages |
| gptkbp:introducedIn |
early 2000s
|
| gptkbp:relatedTo |
algebraic data types
|
| gptkbp:standsFor |
gptkb:Generalized_Algebraic_Data_Types
|
| gptkbp:usedIn |
gptkb:Haskell
gptkb:OCaml gptkb:Idris gptkb:Scala |
| gptkbp:bfsParent |
gptkb:GHC
|
| gptkbp:bfsLayer |
5
|
| https://www.w3.org/2000/01/rdf-schema#label |
GADTs
|