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