Как вызвать функцию для всех элементов списка в Haskell?
Или так
λ> myfun = (^2)
λ> myfun <$> [1, 2, 3]
[1,4,9]

λ> myfun = (^2)
λ> map myfun [1, 2, 3]
[1,4,9]

Что больше подходит под определение

Есть функция:
pow2 x = x ^ 2

Есть такой список:
[1, 2, 3, 4, 5]
Как вызвать функцию для всех элементов списка

Хотя еще
squares :: Num a => [a] -> [a]
squares lst = do
    x <- lst
    return (x ^ 2)

squares' :: Num a => [a] -> [a]
squares' lst = lst >>= \x -> return (x ^ 2)

squares'' :: Num a => [a] -> [a]
squares'' lst = [x ^ 2 | x <- lst]

fx f lst = [f x | x <- lst]

main = do 
  print $ fx (^2)   [1, 2, 3]
  print $ squares   [1, 2, 3]
  print $ squares'  [1, 2, 3]
  print $ squares'' [1, 2, 3]
Всё верно:
Prelude> myFun = map (^2)
Prelude> myFun [1, 2, 3, 4]
[1,4,9,16]