Я наткнулся на множество упражнений, которые дают вам функцию и просят вас вывести тип каждого из них.
У меня есть следующий пример. Обратите внимание, что это не домашнее задание, которое мне нужно сделать. У меня есть ответ на этот конкретный пример и дайте его ниже. Может быть, кто-то может помочь мне научиться рассуждать о таких упражнениях.
Функция:
h1 f g x y = f (g x y) x
Предполагаемый тип:
h1 :: (a -> b -> c) -> (b -> d -> a) -> b -> d -> c
Спасибо!
Я добавил 27 упражнений здесь без решений.
В некоторых из них есть решения здесь.
Однако этот тип можно узнать с помощью команды GHCi :t