Работа с алгебраическими типами данных — программирование, при котором новые данные получаются сложносоставными за счёт осуществления примитивных алгебраических действий над исходными данными. Разработчики и программисты используют алгебраические типы данных, то есть множества, в работе с разными типизированными и ООП языками, например: Haskell, C++, Java, Scala.