Funções em Haskell
Em Haskell, tudo é uma função. As funções são unárias, o que significa que elas recebem um argumento e retornam outro valor, que pode ser outra função. Isso é conhecido como currying.
Por exemplo, uma função que soma dois números é definida como uma função que recebe um número e retorna outra função que soma esse número a outro:
soma x y = x + yEssa função pode ser vista como soma x sendo uma função que, dado y, retorna x + y
Note
Não há necessidade de parênteses nos parâmetros ou chaves no corpo, como em outras linguagens.