gptkbp:instanceOf
|
type system
|
gptkbp:allows
|
universal quantification over types
|
gptkbp:alsoKnownAs
|
gptkb:polymorphic_lambda_calculus
|
gptkbp:basisFor
|
gptkb:Haskell_type_system
gptkb:OCaml_type_system
gptkb:Scala_type_system
gptkb:F#_type_system
gptkb:GHC_Core
gptkb:Hindley–Milner_type_system
gptkb:ML_family_of_languages
gptkb:Typed_Racket
Java generics (theoretically)
|
gptkbp:extendsTo
|
gptkb:simply_typed_lambda_calculus
|
gptkbp:formalizes
|
gptkb:second-order_logic
|
gptkbp:formedBy
|
proof assistants
|
gptkbp:generalizes
|
gptkb:simply_typed_lambda_calculus
|
gptkbp:hasApplication
|
generic programming
proof assistants
compiler intermediate languages
type inference research
|
gptkbp:hasFeature
|
parametric polymorphism
impredicative polymorphism
type abstraction
type application
|
gptkbp:hasProperty
|
strong normalization
type safety
undecidable type inference
|
gptkbp:hasSubgroup
|
gptkb:simply_typed_lambda_calculus
gptkb:System_Fω
|
gptkbp:hasSyntax
|
t [T] (type application)
t1 t2 (term application)
ΛX. t (type abstraction)
λx:T. t (term abstraction)
|
gptkbp:hasTypeConstructor
|
→ (function type)
∀X. T
|
gptkbp:hasTypeJudgment
|
Γ ⊢ t : T
|
https://www.w3.org/2000/01/rdf-schema#label
|
System F
|
gptkbp:introduced
|
gptkb:Jean-Yves_Girard
|
gptkbp:introducedIn
|
1972
|
gptkbp:limitation
|
no subtyping
no type-level computation
undecidable type inference
|
gptkbp:relatedTo
|
gptkb:lambda_calculus
gptkb:Curry–Howard_correspondence
gptkb:System_Fω
gptkb:System_F<:
gptkb:Girard–Reynolds_isomorphism
gptkb:System_F_c
gptkb:second-order_logic
|
gptkbp:usedIn
|
gptkb:logic
proof theory
functional programming languages
|
gptkbp:bfsParent
|
gptkb:polymorphic_type_theory
|
gptkbp:bfsLayer
|
5
|