Системы типов и вывод типов
Коротко: Система типов проверяет, что значения используются только допустимыми способами, например что число не делится на текст. Вывод типов позволяет компилятору самому определять типы.
Подробнее: Статические типы проверяются до выполнения (Java, Rust, TypeScript), динамические — только во время выполнения (Python, JavaScript). Сильные системы типов рано находят многие ошибки. Обобщения, суммарные типы и трейты делают их выразительными.
Подробности
- Статическая и динамическая; сильная и слабая: две…
См. также: лексер, парсер и синтаксическое дерево, промежуточное представление и оптимизация компилятора