typechecking

Compile-time type validation

Typechecking is the process of verifying that data types in a program are used consistently and correctly.

A typechecker ensures that operations receive compatible inputs—that you don't try to add a string to a number, for instance.

Languages may typecheck at compile time (static typechecking) or during execution (dynamic typechecking).

The build failed because typechecking caught a mismatch.

operations

inference

Conclusion reached through reasoning

conversion · coercion · declaration · validation · generic · polymorphism · instantiation · unification · narrowing · discrimination

errors

undefined

Not clearly delineated

strict · annotation · narrowing · widening

systems

static

Without motion or change

nominal · soundness · strong · weak · bidirectional · covariance

languages

TypeScript

Typed JavaScript superset

  • FlowNamed optimal experience concept
  • HaskellPure functional programming language
  • RustMemory-safe systems language

Java · Kotlin · Swift · Ceylon

Opposites
type enforcement vs type freedom

typecheckinguntyped

Not input via keyboard

typeless

verification vs execution

typecheckingruntime

Program execution duration

interpretation

Family

check, type

Familiarity
Top 1,000,000
Profile
Used worldwide · Timeless · Abstract · Rated G