Algorithm J

E807601

Algorithm J is a type inference algorithm used to automatically determine types in the Hindley–Milner type system.

All labels observed (1)

Label Occurrences
Algorithm J canonical 2

How this entity was disambiguated

Statements (29)

Predicate Object
instanceOf algorithm ⓘ
type inference algorithm ⓘ
appliesTo functional programming languages with Hindley–Milner types ⓘ
assumes Hindley–Milner type discipline ⓘ
basedOn unification ⓘ
category static analysis technique ⓘ
computes most general unifier of type constraints ⓘ
constructs type constraints ⓘ
ensures principal type property under Hindley–Milner assumptions ⓘ
goal determine types without explicit annotations ⓘ
handles polymorphic let-bindings ⓘ
type schemes ⓘ
type variables ⓘ
infers types of expressions ⓘ
types of polymorphic functions ⓘ
input untyped or partially typed program ⓘ
operatesOn expressions in the Hindley–Milner type system ⓘ
output typed program or type assignment ⓘ
performs automatic type inference ⓘ
property completeness with respect to Hindley–Milner typing rules ⓘ
soundness with respect to Hindley–Milner typing rules ⓘ
relatedTo Algorithm W ⓘ
solves type constraints via unification ⓘ
supports type inference ⓘ
usedFor checking type correctness ⓘ
inferring principal types ⓘ
usedIn Hindley–Milner type system ⓘ
worksWith lambda calculus terms ⓘ
let-polymorphism ⓘ

How these facts were elicited

Referenced by (2)

Full triples — surface form annotated when it differs from this entity's canonical label.

Algorithm W → alternativeTo → Algorithm J ⓘ