Функция приложения функции в Haskell

Допустим, у меня есть список функций

functions = [f, g, h]

каждый с типомa -> a

У меня также есть список значений, скажем, цифры, но все должно работать здесь

vals = [1,2,3]

Я хочу применить каждую функцию вfunctions до соответствующего значения вvals

Мой первый инстинкт - использовать лямбду и zip с такими:

zipWith (\f v -> f v) functions vals

Но, честно говоря, это выглядит некрасиво, и я не ожидал бы такого хорошего языка, как Хаскелл Функция приложения функции звучит как решение. Что-то подобное существует? Я что-то упустил, и есть гораздо более хорошее решение моей проблемы? Я фактически закончил тем, что написал эту конструкцию для решения Project Euler. Это работает, но мне это не нравится.

Ответы на вопрос(3)

Ваш ответ на вопрос