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
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"