Как определить тип функций Haskell?

Я наткнулся на множество упражнений, которые дают вам функцию, и прошу вас определить тип каждого из них.

У меня есть следующий пример. Обратите внимание, что это не домашнее задание, которое мне нужно сделать. У меня есть ответ на этот конкретный пример, и я привожу его ниже. Может быть, кто-то может помочь мне научиться рассуждать об этих упражнениях.

Функция:

h1 f g x y = f (g x y) x

Предполагаемый тип:

h1 :: (a -> b -> c) -> (b -> d -> a) -> b -> d -> c

Спасибо!


Добавил сюда 27 упражнений без решений .

Некоторые из них имеют решения, включенные здесь . Однако узнать тип можно с помощью команды GHCi:t

17
задан opqdonut 11 August 2012 в 19:38
поделиться