Statements (69)
Predicate | Object |
---|---|
gptkbp:instanceOf |
type system
|
gptkbp:enables |
generic programming
type-level programming object-functional programming pattern matching on types type classes (via implicits) type-safe programming |
gptkbp:hasFeature |
covariance
dependent function types dependent types intersection types type aliases type guards union types type constraints type-safe builders invariance type-level programming extension methods tagged types type parameters type erasure case classes F-bounded polymorphism context bounds contextual abstractions contravariance implicit parameters literal types match types opaque types phantom types recursive types refinement types sealed traits self types singleton types type lambdas type patterns type projections type refinements type variance type-level computation value classes view bounds wildcard types |
https://www.w3.org/2000/01/rdf-schema#label |
Scala type system
|
gptkbp:influencedBy |
gptkb:Haskell_type_system
gptkb:Java_type_system ML type system |
gptkbp:supports |
type inference
static typing higher-kinded types parametric polymorphism structural types abstract types ad-hoc polymorphism compound types existential types implicit conversions path-dependent types subtyping type bounds type members variance annotations |
gptkbp:usedBy |
gptkb:Scala_programming_language
|
gptkbp:bfsParent |
gptkb:System_F
gptkb:system_F |
gptkbp:bfsLayer |
6
|