Tüübisüsteemid
Tüübisüsteemid on programmeerimiskeelte osa, mis kirjeldab ja kontrollib andmete tüüpide kasutamist. Tüüp määrab andmete vormi ja käitumise, näiteks täisarv, loend või funktsioon, mis võtab argumente ja tagastab väärtusi. Tüübisüsteemid aitavad tuvastada vigu varakult, suurendavad koodi turvalisust ja võimaldavad kompilaatoril või tõlgil paremini optimeerida.
Peamised klassifikatsioonid on statiline ja dünaamiline tüübikontroll. Statiline tüübikontroll kontrollib tüübid koodi kompileerimise ajal; dünaamiline kontroll
Olulised mõisted on tüübikontroll, tüübinfereerimine, polüomorfism ja generics. Infereerimine võimaldab kompilaatoril välja arvutada tüübi ilma eksplitsiitsest
Näited keeltest: Haskell ja OCaml on tuntud tugeva statilise tüübikontrolli ja laialdaselt kasutatava tüübinfereerimise poolest (Hindley–Milneri
Tüübisüsteemid suurendavad arenduse kvaliteeti ja hooldatavust ning aitavad vigade varajast avastamist, kuid keerukad süsteemid võivad suurendada