Embed presentation
Downloaded 102 times












Type checking involves assigning type expressions to each part of a program according to a type system's logical rules. This allows compilers to determine if a program's types conform or catch errors. Type checking can take the form of type synthesis, which builds up an expression's type from its parts, or type inference, which determines a construct's type from its use. Resolving names is also important for type checking.












This section introduces type checking and its importance in compilers, highlighting how it ensures conformity to a type system, catches errors, and enables static checking.
Describes two forms of type checking: synthesis, which builds type from subexpressions, and inference, which determines type based on usage.
Subsequent slides provide further details on type checking declarations and expressions, emphasizing implementation aspects and continued exploration of the concept.
Focuses on resolving names within a program structure, crucial for correctly interpreting variable and function references across code.
Discusses the type checking of statements, essential for validating code correctness and ensuring adherence to type systems.