我试图在 Haskell 中写这样的东西:
length . nub . intersect
但它不起作用。
*Main Data.List> :t intersect
intersect :: Eq a => [a] -> [a] -> [a]
*Main Data.List> :t nub
nub :: Eq a => [a] -> [a]
*Main Data.List> :t length
length :: [a] -> Int
根据类型,我的理解是intersect返回一个类型[a]并捐赠给nub,它正好是一个类型[a],然后也返回一个类型[a],length然后最后返回应该是一个Int。它出什么问题了?