(\(a, b) -> a < b)
関数合成で表現するより良い方法はありますか? 私は何かが欠けているように感じ、実験はcurry
私をさらに混乱させるだけです.
2 に答える
12
curry
ここで使用するのは間違っています。タプルを操作する関数をカリー化された関数に変換します。反対のものが必要です。つまり、次のuncurry
とおりです。
uncurry :: (a -> b -> c) -> (a, b) -> c
この場合はuncurry (<)
です。
(タプルに関数を書くのに役立つコンビネータのもう 1 つの便利なソースはControl.Arrow
です。(->)
は のインスタンスであるため、としてArrow
読むことができます。)a b c
b -> c
于 2012-01-24T20:06:04.970 に答える