@stephentetley Реализована ли эта реализация где-нибудь в пакете?

кция работает только для функций, принимающих два аргумента:uncurryЕсли я хочу разархивировать функции с произвольным числом аргументов, я мог бы просто написать отдельные функции:

uncurry :: (a -> b -> c) -> (a, b) -> c

Но это быстро становится утомительным. Есть ли способ обобщить это, поэтому мне нужно написать только одну функцию?

uncurry2 f (a, b)          = f a b
uncurry3 f (a, b, c)       = f a b c
uncurry4 f (a, b, c, d)    = f a b c d
uncurry5 f (a, b, c, d, e) = f a b c d e

Не таким образом, но в любом случае, почему вы хотите это сделать? По моему опыту, очень мало случаев, когда вам нужно больше, чем просто

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

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