System F
E807603
System F is a polymorphic lambda calculus that extends simple type systems with universal quantification over types, forming a foundational framework for studying typed functional programming and type theory.
All labels observed (1)
| Label | Occurrences |
|---|---|
| System F canonical | 2 |
How this entity was disambiguated
This entity first appeared as the object of triple T9566738 — resolving that mention is where its identity was fixed. The disambiguator weighed these candidate entities and picked the highlighted one (or “None”, minting a new entity). This is how homonymy is resolved: the same surface form can point to different entities.
Target entity: System F Context triple: [Hindley–Milner type system, relatedTo, System F]
-
A.
Hindley–Milner type system
The Hindley–Milner type system is a classical polymorphic type system used in many functional programming languages, notable for enabling type inference without explicit type annotations.
-
B.
Franz Lisp
Franz Lisp is a dialect of the Lisp programming language developed in the late 1970s at the University of California, Berkeley, primarily for use in artificial intelligence research and symbolic computation.
-
C.
Chez Scheme
Chez Scheme is a high-performance, optimizing implementation of the Scheme programming language widely used for both research and production systems.
-
D.
Landin’s SECD machine
Landin’s SECD machine is an early abstract machine for functional programming languages that introduced a systematic model for evaluating expressions using a stack, environment, control, and dump.
-
E.
FLOW-MATIC programming language
FLOW-MATIC programming language is an early English-like business data processing language developed in the 1950s that heavily influenced the design of COBOL.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: System F Target entity description: System F is a polymorphic lambda calculus that extends simple type systems with universal quantification over types, forming a foundational framework for studying typed functional programming and type theory.
-
A.
Hindley–Milner type system
The Hindley–Milner type system is a classical polymorphic type system used in many functional programming languages, notable for enabling type inference without explicit type annotations.
-
B.
Franz Lisp
Franz Lisp is a dialect of the Lisp programming language developed in the late 1970s at the University of California, Berkeley, primarily for use in artificial intelligence research and symbolic computation.
-
C.
Chez Scheme
Chez Scheme is a high-performance, optimizing implementation of the Scheme programming language widely used for both research and production systems.
-
D.
Landin’s SECD machine
Landin’s SECD machine is an early abstract machine for functional programming languages that introduced a systematic model for evaluating expressions using a stack, environment, control, and dump.
-
E.
FLOW-MATIC programming language
FLOW-MATIC programming language is an early English-like business data processing language developed in the 1950s that heavily influenced the design of COBOL.
- F. None of above. chosen
Statements (50)
| Predicate | Object |
|---|---|
| instanceOf |
formal system
ⓘ
polymorphic lambda calculus ⓘ type theory ⓘ typed lambda calculus ⓘ |
| alsoKnownAs |
Girard–Reynolds polymorphic lambda calculus
NERFINISHED
ⓘ
polymorphic lambda calculus NERFINISHED ⓘ second-order lambda calculus NERFINISHED ⓘ |
| basedOn | lambda calculus NERFINISHED ⓘ |
| correspondsTo | second-order intuitionistic logic ⓘ |
| decidabilityOfTyping | undecidable in general ⓘ |
| expressivePower | can encode many data types and control structures ⓘ |
| extends | simply typed lambda calculus ⓘ |
| feature |
impredicative polymorphism
ⓘ
parametric polymorphism ⓘ type abstraction ⓘ type application ⓘ universal quantification over types ⓘ |
| frameworkFor |
studying parametricity
ⓘ
studying polymorphism ⓘ studying type abstraction ⓘ |
| generalizes | monomorphic type systems ⓘ |
| hasProperty |
confluence of beta-reduction
ⓘ
strong normalization (for well-typed terms) ⓘ subject reduction ⓘ type safety ⓘ |
| hasSemantics |
denotational semantics in categorical models
ⓘ
proof-theoretic semantics via natural deduction ⓘ |
| hasTypeConstructor | universal type (forall type) ⓘ |
| influenced |
Calculus of Constructions
NERFINISHED
ⓘ
GHC Haskell type system extensions ⓘ Hindley–Milner type system NERFINISHED ⓘ ML-style polymorphism theory ⓘ System Fω NERFINISHED ⓘ |
| introducedBy |
Jean-Yves Girard
NERFINISHED
ⓘ
John C. Reynolds NERFINISHED ⓘ |
| logicalOrder | second-order ⓘ |
| publicationYear | 1972 ⓘ |
| quantifiesOver | types ⓘ |
| relatedSystem |
Calculus of Constructions
NERFINISHED
ⓘ
System Fω NERFINISHED ⓘ |
| relatedTo | Curry–Howard correspondence NERFINISHED ⓘ |
| supports |
Church encodings of data structures
ⓘ
encoding of algebraic data types ⓘ higher-order functions ⓘ polymorphic functions ⓘ |
| usedIn |
programming language semantics
ⓘ
proof assistants design ⓘ proof theory ⓘ type theory research ⓘ typed functional programming ⓘ |
How these facts were elicited
The pipeline generated the facts above by prompting gpt-5.1 with this entity's name + description and the instruction below.
You are a knowledge base construction expert. Given a subject entity and a description of it, return factual statements that you know for the subject as a JSON list of dictionaries(triples), where keys must be "subject", "predicate" and "object". The number of facts may be very high, between 25 to 50 or more, for very popular subjects. For less popular subjects, the number of facts can be very low, like 5 or 10. # Requirements - If you don't know the subject at all, return an empty list. - If the subject is not a named entity, return an empty list. - Include at least one triple where predicate is "instanceOf". - Do not get too wordy. - Separate several objects into multiple triples with one object.
Subject: System F Description of subject: System F is a polymorphic lambda calculus that extends simple type systems with universal quantification over types, forming a foundational framework for studying typed functional programming and type theory.
Referenced by (2)
Full triples — surface form annotated when it differs from this entity's canonical label.