Em Haskell é possível renomear tipos através de declarações da forma :

<aside> 💡 type Nome p1...pn = tipo

</aside>

Exemplo 1 :

type Coordenada = (Float,Float)
{-função que calcula a distancia entre duas coordenadas-}
distancia :: Coordenada -> Coordenada -> Float
distancia (x1,y1) (x2,y2) = sqrt ((x2-x1)^2+(y2-y1)^2)

Exemplo 2 :

type Triplo a = (a,a,a)
multri :: Triplo Int -> Int
multri (x,y,z) = x*y*z

Strings

O tipo String é um tipo sinónimo já definido no Prelude e é uma lista de caracteres :

type String = [Char]

Os valores do tipo String podem ser escritos coo sequências de caracteres entre aspas.

> ['o','l','a']
"ola"
> length "ola"
3
> reverse "ola"
"alo"