我试图在 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
。它出什么问题了?