System F

GPTKB entity

Statements (54)
Predicate Object
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