我正在阅读关于应用函子的LYAH 章节,但我似乎不理解以下示例:
ghci> :t fmap (++) (Just "hey")
fmap (++) (Just "hey") :: Maybe ([Char] -> [Char])
但是当我看到这个时:
ghci> :t (++)
(++) :: [a] -> [a] -> [a]
ghci> :t fmap
fmap :: Functor f => (a -> b) -> f a -> f b
我确实了解(*3)或(++"this")之类的内容如何适合(a -> b)类型,但我只是看不到[a] -> [a] -> [a]适合(a -> b)吗?