1
foo (a1,a2) (b1,b2) (c1,c2) = (bar a1 b1 c1, bar2 a2 b2 c2)

さまざまな数の引数タプルを持つこれらの構造がたくさんあります。の場合

foo' (a1,a2) = (bar' a1, bar2' a2)

「あ、矢だ!」と思いました。

foo' = bar' *** bar2'

しかし、(最初のコード行のように) 複数の入力タプルを持つ関数が矢印スタイルにマップされるかどうか、またどのようにマップされるかはまだわかりませんでした。そのような関数を処理する一般的な方法は何ですか? 理想的には、私は常に のようなものが欲しいですfoo = bar ... bar2

4

1 に答える 1

5
let (****) = uncurry (***) in (bar1, bar2) **** (a1, a2) **** (b1, b2) **** (c1, c2)
于 2012-08-18T14:26:50.780 に答える