map :: (a -> b) -> [a] -> [b]
map f xs = [f x | x <- xs]
この定義は、Hutton(Hutton)によるプログラミング(p.62)からのものです。ハスケルマップ関数のタイプ詳細
その型を見ると、関数が第1引数をとり、第2引数がリストであることを理解します。
しかし種類以上が(a -> b) -> ([a] -> [b])?
なるんので、マップが機能を取り、[a]
をとる関数を返し、[f x|x <- xs]?
を返し、なぜそれが(a -> b) -> [a] -> [b]
の代わりに、例えば(a -> a) -> [a] -> [a] ?
で、本はmap(+1)[1,3,5,7]
誰かがこの機能について詳しく説明できますか?
「a - > b」は、2つのタイプが異なる必要があることを意味するものではなく、異なることができることを意味します。 – chepner