Algorithm W
E807600
Algorithm W is a classic type inference algorithm that efficiently computes principal types in the Hindley–Milner type system used by many functional programming languages.
All labels observed (1)
| Label | Occurrences |
|---|---|
| Algorithm W canonical | 1 |
How this entity was disambiguated
This entity first appeared as the object of triple T9566723 — 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: Algorithm W Context triple: [Hindley–Milner type system, hasAlgorithm, Algorithm W]
-
A.
ALGO
ALGO is the native cryptocurrency of the Algorand blockchain, used for transaction fees, staking, and securing the network through its pure proof-of-stake consensus mechanism.
-
B.
LLL algorithm
The LLL algorithm is a polynomial-time lattice basis reduction algorithm widely used in computational number theory and cryptography to find relatively short, nearly orthogonal lattice vectors.
-
C.
Benettin algorithm
The Benettin algorithm is a numerical method used in dynamical systems theory to estimate Lyapunov exponents, which quantify the rate of separation of nearby trajectories and indicate chaos.
-
D.
ALG
ALG is the IATA airport code for Houari Boumediene Airport, the main international airport serving Algiers, Algeria.
-
E.
Berlekamp–Massey algorithm
The Berlekamp–Massey algorithm is a key algorithm in coding theory and cryptography used to efficiently determine the shortest linear feedback shift register that generates a given binary sequence.
- F. None of above. chosen
- G. Unsure - the case is ambiguous/there is not enough information to decide.
Target entity: Algorithm W Target entity description: Algorithm W is a classic type inference algorithm that efficiently computes principal types in the Hindley–Milner type system used by many functional programming languages.
-
A.
ALGO
ALGO is the native cryptocurrency of the Algorand blockchain, used for transaction fees, staking, and securing the network through its pure proof-of-stake consensus mechanism.
-
B.
LLL algorithm
The LLL algorithm is a polynomial-time lattice basis reduction algorithm widely used in computational number theory and cryptography to find relatively short, nearly orthogonal lattice vectors.
-
C.
Benettin algorithm
The Benettin algorithm is a numerical method used in dynamical systems theory to estimate Lyapunov exponents, which quantify the rate of separation of nearby trajectories and indicate chaos.
-
D.
ALG
ALG is the IATA airport code for Houari Boumediene Airport, the main international airport serving Algiers, Algeria.
-
E.
Berlekamp–Massey algorithm
The Berlekamp–Massey algorithm is a key algorithm in coding theory and cryptography used to efficiently determine the shortest linear feedback shift register that generates a given binary sequence.
- F. None of above. chosen
Statements (46)
| Predicate | Object |
|---|---|
| instanceOf |
algorithm
ⓘ
type inference algorithm ⓘ |
| alternativeTo |
Algorithm J
NERFINISHED
ⓘ
constraint-based type inference algorithms ⓘ |
| assumes |
no user-written type annotations are required for basic inference
ⓘ
rank-1 polymorphism (Hindley–Milner polymorphism) ⓘ |
| basedOn | Hindley–Milner type system NERFINISHED ⓘ |
| complexity | typically near-linear in size of term for practical programs ⓘ |
| computes | principal types ⓘ |
| coreStep |
generalizes types at let-bindings
ⓘ
generates type equations ⓘ recursively infers types for subexpressions ⓘ solves type equations via unification ⓘ |
| describedIn | "Principal type-schemes for functional programs" ⓘ |
| domain |
programming language theory
ⓘ
static type checking ⓘ |
| goal | infer most general type without annotations ⓘ |
| influenced |
design of many statically typed functional languages
ⓘ
type inference in Haskell ⓘ type inference in ML ⓘ |
| input | untyped lambda calculus term with let-bindings (Hindley–Milner syntax) ⓘ |
| introducedBy |
Luis Damas
NERFINISHED
ⓘ
Robin Milner NERFINISHED ⓘ |
| introducedInContextOf | type assignment for the Hindley–Milner system ⓘ |
| notDesignedFor |
GADTs
ⓘ
higher-rank polymorphism ⓘ type classes (as in full Haskell) ⓘ |
| output | most general type (principal type) of the term ⓘ |
| property |
complete with respect to Hindley–Milner type system
ⓘ
sound with respect to Hindley–Milner type system ⓘ terminating on well-formed inputs ⓘ |
| publicationYear | 1982 (original Damas–Milner paper) ⓘ |
| representation |
produces type schemes with universally quantified variables
ⓘ
uses type variables for unknown types ⓘ |
| supportsFeature |
let-polymorphism
ⓘ
polymorphic type inference ⓘ principal type computation ⓘ unification-based constraint solving ⓘ |
| usedIn |
Haskell (core Hindley–Milner fragment)
NERFINISHED
ⓘ
ML family of languages NERFINISHED ⓘ OCaml (core Hindley–Milner fragment) NERFINISHED ⓘ Standard ML NERFINISHED ⓘ functional programming languages ⓘ |
| usesTechnique |
environment-based type assignment
ⓘ
substitution ⓘ unification ⓘ |
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: Algorithm W Description of subject: Algorithm W is a classic type inference algorithm that efficiently computes principal types in the Hindley–Milner type system used by many functional programming languages.
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.