Typ danych określa zbiór wartości, do którego należy stała bądź które może przyjmować zmienna lub wyrażenie albo które mogą być generowane przez operator lub funkcję. Typ wartości oznaczonej przez stałą, zmienną lub wyrażenie można określić na podstawie ich postaci bądź deklaracji , bez konieczności wykonywania procesu obliczeniowego. Każdy operator lub funkcja ma argumenty ustalonego typu, jak również daje wynik ustalonego typu. Jeśli operator dopuszcza argumenty wielu typów (np. „+” oznacza dodawanie zarówno liczb całkowitych jak i rzeczywistych), to typ uzyskiwanego wyniku jest określany za pomocą specyficznych dla języka reguł.