Скажите, у меня есть f :: u -> v -> w
и g :: x -> y -> z
.То, что я хочу, это h :: (u,x) -> (v,y) -> (w,z)
.
Так что я мог бы сделать это вручную:
h (u,x) (v,y) = (f u v, g x y)
Но где в этом удовольствие?
Использование (***)
Я могуполучить часть пути туда:
(f *** g) :: (u,x) -> (v -> w, y -> z)
Но я не могу понять, как получить эту последнюю милю.