Haskell:
Organizando o código em funções

Como Fazer:

Eis como você pode escrever e usar funções em Haskell:

-- Definindo uma função simples para adicionar dois números
addNumbers :: Int -> Int -> Int
addNumbers x y = x + y

-- Utilizando a função
main = print (addNumbers 3 5)

Saída:

8

Você também pode criar funções de ordem superior:

-- Pega uma função e a aplica duas vezes em algo
applyTwice :: (a -> a) -> a -> a
applyTwice f x = f (f x)

-- Utilizando applyTwice com uma função anônima
main = print (applyTwice (*2) 5)

Saída:

20

Aprofundando

Haskell, uma linguagem puramente funcional, trata funções como cidadãos de primeira classe. Historicamente, isso tem raízes no cálculo lambda, uma estrutura fundamental na computação. Diferentemente das linguagens imperativas, onde funções são uma sequência de instruções, em Haskell, funções são expressões que descrevem relações entre dados.

Existem alternativas para escrever funções puras para reutilização. Considere usar typeclasses para polimorfismo ou aproveitar módulos para agrupar funções relacionadas. A avaliação preguiçosa de Haskell também impacta na implementação das funções — as funções não serão avaliadas até que seus resultados sejam necessários, potencialmente afetando considerações de desempenho.

Veja Também