Это был бы ручной способ сделать что-то для каждого элемента в списке:
type Coord = [(Int, Int)]
multiplyXBy2 :: Coord -> Coord
multiplyXBy2 [] = []
multiplyXBy2 ((x, y):rest) = (x*2, y) : multiplyXBy2 rest
Вот вызов через ghci
:
*Main> multiplyXBy2 [(1,2), (3,4)]
[(2,2),(6,4)]
Для самых основиспользуя язык, например, как получить доступ к элементам списка, переданным в функцию, или как программно построить список, пожалуйста, подумайте о том, чтобы следовать учебному пособию, такому как синтаксис LYAH в функциях или RWH определение типов, оптимизация функций