Система типов в языках программирования — набор правил, назначающих свойство, называемое типом, различным конструкциям компьютерная программа, например переменные, выражения, функции или модули. Эти типы формализуют и обеспечивают соблюдение неявных категорий, которые программист использует для алгебраических типов данных, структур данных или других компонентов (например, «строка», «массив с плавающей запятой», «функция, возвращающая логическое значение»). Основная цель системы типов — уменьшить вероятность ошибок в компьютерных программах путем определения интерфейсов между различными частями компьютерной программы, а затем проверки того, что эти части были соединены в последовательный способ. Эта проверка может происходить статически (во время компиляции), динамически (во время времени выполнения) или как комбинация статической и динамической проверки. Системы типов имеют и другие цели, такие как выражение бизнес-правил, включение определенных оптимизаций компилятора, разрешение множественной диспетчеризации, предоставление формы документации и т. д.
[Глоссарий искусственного интеллекта. (Электронный ресурс). Режим доступа: http:// hrwiki.ru›wiki/Glossary_of_artificial_intelligence/, свободный.]