有人能解释我为什么做这些功能 有不同数量的参数和行为,但 的同类型签名,但它们都是正确的吗?Haskell的类型签名问题
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)
也,为什么COMP2具有
comp2 :: (a -> b) -> (b -> c) -> a -> c
,而不是像
comp2 :: a -> (a -> b) -> (b -> c) -> a -> c
?
谢谢。
http://www.haskell.org/haskellwiki/Eta_conversion? – 2010-11-25 17:30:35
两种功能的行为方式不同?看起来和我一样...... – sepp2k 2010-11-25 17:54:27