Nic*_*rus 0 haskell function-composition
我试图理解表达式的类型(map . map)
.由于类型(.)
是(b -> c) -> (a -> b) -> a -> c
我不明白这是如何工作与地图功能,因为map取不与功能适应两个参数(b -> c)
和(a -> b)
.
引用GHCI:
Prelude> :t map.map
map.map :: (a -> b) -> [[a]] -> [[b]]
Run Code Online (Sandbox Code Playgroud)
但对于地图本身,类型是
map :: (a -> b) -> [a] -> [b]
Run Code Online (Sandbox Code Playgroud)
你可以看到
map :: (a -> b) -> ([a] -> [b])
Run Code Online (Sandbox Code Playgroud)
所以,如果我们有那个
(.) :: (t2 -> t3) -> (t1 -> t2) -> t1 -> t3
然后:
t1
是(a -> b)
t2
是([a] -> [b])
t3
是([[a]] -> [[b]])
归档时间: |
|
查看次数: |
554 次 |
最近记录: |