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