Module Dcalc.TypingSource

Typing for the default calculus. Because of the error terms, we perform type inference using the classical W algorithm with union-find unification.

Infers types everywhere on the given expression, and adds (or replaces) type annotations on each node

Gets the outer type of the given expression, using either the existing annotations or inference

Sourceval infer_types_program : Ast.untyped Ast.program -> Ast.typed Ast.program