【发布时间】:2014-11-02 11:51:20
【问题描述】:
我正在尝试在 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] 的类型给@ 987654329@,那么最后返回应该是Int。它有什么问题?
【问题讨论】:
-
其实
intersect返回的类型是[a] -> [a]。((length . nub) .) . intersect会做你想做的,但我这里的理解太弱,无法回答。
标签: haskell pointfree function-composition combinators dot-operator