この質問は、antal sz が回答したこのFunction Composition VS Function Applicationに関連しています。
どうやってこれを手に入れることができますか?
map has type (a -> b) -> [a] -> [b]
head has type [a] -> a
map head has type [[a]] -> [a]
次のコードに関数合成の型エラーがあるのはなぜですか?
test :: [Char] -> Bool
test xs = not . null xs
getMiddleInitials :: [String] -> [Char]
getMiddleInitials middleNames = map head . filter (\mn -> not . null mn) middleNames
しかし、これには型エラーはありません
getFirstElements :: [[a]] -> [a]
getFirstElements = map head . filter (not . null)
関数合成を利用するには、ポイントフリー関数を書く必要がありますか? 関数合成の使い方がまだよくわかりません。
助けてください。ありがとう。