Bidirectional Type Checking

Back to Type Inference

A type checking approach that combines two modes: type inference (synthesizing a type from an expression) and type checking (verifying an expression against an expected type). Information flows both bottom-up and top-down, reducing the need for annotations while handling complex type features.

Key Properties


type-systems type-inference bidirectional