Haskell - Composition des fonctions

Function Compositionest le processus d'utilisation de la sortie d'une fonction comme entrée d'une autre fonction. Ce sera mieux si nous apprenons les mathématiques derrièrecomposition. En mathématiques,composition est désigné par f{g(x)}g() est une fonction et sa sortie est utilisée comme entrée d'une autre fonction, c'est-à-dire f().

La composition de fonction peut être implémentée à l'aide de deux fonctions quelconques, à condition que le type de sortie d'une fonction corresponde au type d'entrée de la seconde fonction. Nous utilisons l'opérateur point (.) Pour implémenter la composition de fonctions dans Haskell.

Jetez un œil à l'exemple de code suivant. Ici, nous avons utilisé la composition de fonctions pour calculer si un nombre d'entrée est pair ou impair.

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

Ici, dans le main fonction, nous appelons deux fonctions, noto et eveno, simultanément. Le compilateur appellera d'abord la fonction"eveno()" avec 16comme argument. Par la suite, le compilateur utilisera la sortie dueveno méthode comme entrée de noto() méthode.

Sa sortie serait la suivante -

Example of Haskell Function composition                
"This is an even Number"

Puisque nous fournissons le nombre 16 comme entrée (qui est un nombre pair), le eveno() fonction renvoie true, qui devient l'entrée pour le noto() et renvoie la sortie: "Ceci est un nombre pair".