Haskell - Composição de Função
Function Compositioné o processo de usar a saída de uma função como entrada de outra função. Será melhor se aprendermos a matemática por tráscomposition. Na matemática,composition é denotado por f{g(x)} Onde g() é uma função e sua saída é usada como uma entrada de outra função, ou seja, f().
A composição da função pode ser implementada usando quaisquer duas funções, desde que o tipo de saída de uma função corresponda ao tipo de entrada da segunda função. Usamos o operador ponto (.) Para implementar a composição da função em Haskell.
Dê uma olhada no código de exemplo a seguir. Aqui, usamos a composição de funções para calcular se um número de entrada é par ou ímpar.
eveno :: Int -> Bool
noto :: Bool -> String
eveno x = if x `rem` 2 == 0
then True
else False
noto x = if x == True
then "This is an even Number"
else "This is an ODD number"
main = do
putStrLn "Example of Haskell Function composition"
print ((noto.eveno)(16))
Aqui no main função, estamos chamando duas funções, noto e eveno, simultaneamente. O compilador irá primeiro chamar a função"eveno()" com 16como um argumento. Depois disso, o compilador usará a saída doeveno método como uma entrada de noto() método.
Sua saída seria a seguinte -
Example of Haskell Function composition
"This is an even Number"
Uma vez que estamos fornecendo o número 16 como entrada (que é um número par), o eveno() função retorna true, que se torna a entrada para o noto() função e retorna a saída: "Este é um número par".