Quelqu'un peut-il me expliquer, pourquoi ces fonctions ont différents nombre d'arguments et le comportement, mais la signature même type , mais ils sont à la fois correcte?haskell question de la signature de type
comp1 :: (a -> b) -> (b -> c) -> a -> c
comp1 f g = g.f
comp2 :: (a -> b) -> (b -> c) -> a -> c
comp2 f g x = g (f x)
aussi, pourquoi COMP2 a
comp2 :: (a -> b) -> (b -> c) -> a -> c
au lieu de quelque chose comme
comp2 :: a -> (a -> b) -> (b -> c) -> a -> c
?
Merci.
http://www.haskell.org/haskellwiki/Eta_conversion? –
De quelle manière les deux fonctions ont-elles un comportement différent? Ça me ressemble ... – sepp2k