自分でmapを実装してみます

たくさんの関数 - もち
数ある高階関数の中でも非常によく使う関数です。Haskellだとこんな感じ。なおRubyの場合、僕はcollect派ではなくmap派です。短かいし、Haskellでも同じ名前だから。

module Main (main) where

myMap :: (a -> b) -> [a] -> [b]
myMap _ []       = []
myMap f (x : xs) = f x : myMap f xs

main :: IO ()
main = print $ myMap (* 2) [1, 2 ,3] -- => [2,4,6]