Mapeamento de valores de um tipo (o domínio da função) em valores de outro tipo (o contra-domínio da função)

Funções que recebem valores do tipo T1 e devolvem valores do tipo T2.
even :: Int -> Bool
odd :: Int -> Bool
not :: Bool -> Bool
Sobrecarga (overloading) de funções
Class constraints Restrições de classes
Funções recursivas sobre listas
Funções com parâmetro de acumulação